【问题标题】:C# IO Bound operations [closed]C# IO 绑定操作
【发布时间】:2017-05-02 11:42:18
【问题描述】:

我对 IO Bound 操作有点困惑

基本上,我找不到 IO Bound 操作的最佳实践。

例如,我有一堆请求需要发送到远程服务器 20 个请求,我需要发送发布数据并等待响应检查该响应并将其写入日志。

问题是我应该使用什么?

我应该创建可以处理它的后台线程吗?

因为我不想在所有这些请求都完成时同步等待。部分原因是我不关心它们,它们只是一些日志等。

【问题讨论】:

  • 您可以在项目中使用任务。
  • 如果你想要异步然后使用await/async。创建后台线程仍然会导致同步调用,它只是阻塞不同的线程。
  • 使用线程使代码变得简单,因为您不必编写异步代码。简单的代码没有什么特别的错误,尤其是当你不得不问这个问题的时候。如果您想编写最佳 代码,那么关键是不要 有一个线程等待I/O 完成。但仅在 I/O 完成处理响应时使用一个。采用通常痛苦的 BeginXxx() 方法或不那么痛苦的 async/await 关键字。

标签: c# multithreading io


【解决方案1】:

您可以使用async and await
..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-11
    • 2018-07-03
    • 1970-01-01
    • 1970-01-01
    • 2022-12-17
    • 2020-11-25
    • 2014-02-05
    • 1970-01-01
    相关资源
    最近更新 更多