异步线程的机制

时间:2010-06-20 00:50:08

标签: .net concurrency asynchronous

在.NET中,当你进行异步调用时,我理解这个调用是在一个单独的线程中解决的,因此不会阻塞调用的原始线程。

这背后的机制如何运作。是否在每个异步调用中生成一个新线程,或者是否存在处理这些操作的共享异步线程?如果它是共享线程,则执行时会执行多个异步调用。如果产生了单个线程,如果在同一时间范围内进行了许多异步调用,则由于有太多线程并发运行,应用程序不会遇到严重的性能问题。

2 个答案:

答案 0 :(得分:2)

我相信这篇MSDN文章应该回答你的所有问题。请注意,您的大多数直觉实际上都是正确的。您需要做的就是研究细节。

Programming the Thread Pool in the .NET Framework

答案 1 :(得分:0)

我认为.NET Framework会将其ThreadPool用于任何异步,除非您自己专门创建并启动一个新的线程。