什么是.NET中的“异步IO操作”?

时间:2009-02-25 08:55:13

标签: .net asynchronous io

简而言之 - 首先阅读this article,然后this article。简而言之 - 这是关于ASP.NET的老问题,并在线程之间随机切换。好吧,实际上不是那么随机。正如第二篇文章所解释的那样,这只发生在“当你的线程执行异步IO操作时”。那么......在这种情况下,异步IO操作到底是什么?我熟悉标准 Begin ... End ... IAsyncResult 和异步IO的事件模型。但是我看不出如何将它与线程切换联系在一起。

重点是 - 我只是害怕我的软件可能正在做的任何“隐藏的”异步IO(然后会引发线程切换)。但是如何识别它们呢?

1 个答案:

答案 0 :(得分:1)

异步IO操作指的是调用线程不阻塞以等待IO的情况。示例包括对流,网络连接等的BeginXXX操作。

当您使用BeginXXX设置呼叫时,线程池线程将用于执行您的回调,而设备驱动程序通常处理实际的IO。因此可能涉及许多不同的线程。