为什么 .NET HttpResponseMessage.Content 读取方法是异步的?
Why .NET HttpResponseMessage.Content methods for reading are async?
我注意到,HttpResponseMessage.Content
有 ReadAsStringAsync()
方法。当此操作需要 cpu 并且任务反应将添加更多 CPU 工作时,使其异步有什么意义?
这不是纯粹的 CPU 绑定操作。在响应较大的请求中,您可以在通过网络接收到整个响应主体之前开始读取响应主体。
响应的第一部分可能已经在内存中,但您在读取响应时很可能遇到需要等待通过网络接收其余数据的位置。这允许您异步等待而不阻塞线程。
我注意到,HttpResponseMessage.Content
有 ReadAsStringAsync()
方法。当此操作需要 cpu 并且任务反应将添加更多 CPU 工作时,使其异步有什么意义?
这不是纯粹的 CPU 绑定操作。在响应较大的请求中,您可以在通过网络接收到整个响应主体之前开始读取响应主体。
响应的第一部分可能已经在内存中,但您在读取响应时很可能遇到需要等待通过网络接收其余数据的位置。这允许您异步等待而不阻塞线程。