C#IO绑定操作

C#IO绑定操作,c#,multithreading,io,C#,Multithreading,Io,我对IO绑定的操作有点困惑 基本上,我找不到IO绑定操作的最佳实践 例如,我有一大堆需要发送到远程服务器的请求 每20个请求我需要发送post数据并等待响应检查响应并将其写入日志 问题是我应该用什么 我应该创建一个背景线程吗 因为我不想在所有请求都完成时同步等待。部分原因是我不在乎它们,它们只是一些日志等。您可以使用 .. 您可以在项目中使用任务。如果需要异步,请使用wait/async。创建后台线程仍然会导致同步调用,而同步调用只会阻塞不同的线程。使用线程可以简化代码,因为您不必编写异步代码

我对IO绑定的操作有点困惑

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

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

问题是我应该用什么

我应该创建一个背景线程吗

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

您可以使用

..

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