【发布时间】:2009-04-10 05:42:38
【问题描述】:
如果我想读取或写入文件,我可以使用 stream.BeginRead 和 stream.EndRead,但这需要回调和大量使用异步编程模型的丑陋、复杂的代码。 p>
我为什么要使用这些异步 IO 方法(在后台使用 .NET 线程池)而不是以同步方式编写相同的代码,然后将 那个 传递给线程池。 (而不是用回调来分割我的方法。)
更新:
一些(好的)响应表明使用 APM 使我免于创建线程 - 我同意这一点,因为每个新线程都有自己的 2MB 堆栈。但是“BeginRead”和“Endread”在哪里执行?线程池?重用已经分配的线程是唯一的好处吗?
【问题讨论】:
标签: c# .net multithreading asynchronous