有没有人知道如何在ParallelExtensionExtras中使用以下类以及它们用于什么?
IOCompletionPortTaskScheduler.cs
IOTaskScheduler.cs
答案 0 :(得分:4)
<强> IOTaskScheduler 强>
虽然我们经常提到“.NET” 线程池,
ThreadPool
.NET中的抽象实际上是构建的 在两个游泳池之上,一个参考 作为工人池和一个提到的 作为I / O池。前者是什么 由QueueUserWorkItem
定位 方法以及默认方法TaskScheduler
,而后者是。{ 目标是UnsafeQueueNativeOverlapped
方法, 并经常用于工作 Windows Communication Foundation和 Windows Workflow Foundation。该IOTaskScheduler
调度程序 IOTaskScheduler.cs文件运行任务 这个I / O线程池通过UnsafeQueueNativeOverlapped
方法。
从这里开始:http://blogs.msdn.com/b/pfxteam/archive/2010/04/09/9990424.aspx
答案 1 :(得分:0)
IOCompletionPortTaskScheduler 类提供了一个任务调度程序, 使用I / O完成端口来控制并发。它是 必须设置调度程序中的最大线程数 并发执行和可用的线程数 用于执行任务的调度程序。
从这里开始:http://www.drdobbs.com/parallel/specialized-task-schedulers-in-net-4-par/228800428
以下内容来自:http://msdn.microsoft.com/en-us/library/windows/desktop/aa365198%28v=vs.85%29.aspx
I / O完成端口为。提供了高效的线程模型 在多处理器上处理多个异步I / O请求 系统。当进程创建I / O完成端口时,系统 为唯一目的的请求创建关联的队列对象 为这些请求提供服务。处理许多并发的进程 异步I / O请求可以更快速有效地执行此操作 将I / O完成端口与预先分配的线程结合使用 池,而不是在收到I / O请求时创建线程。