应该有多少个任务调度程序实例?

时间:2015-01-06 19:05:08

标签: c# task-parallel-library

我正在尝试正确使用任务调度程序,即IOTaskScheduler。我有一个抓取网页的应用程序和每个请求(这是一项任务)我正在生成一个新的IOTaskScheduler。相反,我应该只有一个IOTaskScheduler实例并将其传递给所有Web请求(任务)吗?

或者,在哪些情况下优先生成单独的任务调度程序?

1 个答案:

答案 0 :(得分:4)

回答这个问题:对于这个TaskScheduler,您需要共享一个实例,以便可以将许多任务多路复用到此调度程序提供的少数线程上。

你应该做什么:你根本不应该使用这个任务调度程序。没有什么特别的,可以让IO更快。使用使用普通.NET线程的普通固定并发调度程序。

  

或者,在哪些情况下优先生成单独的任务调度程序?

我不知道。调度程序旨在将许多任务复用到少数线程。向每个调度程序注册单个任务会限制调度程序可以智能地执行的任务。

对于某些调度程序而言并不重要。例如,对于将每个任务放入新线程的调度程序。