应该有多少个任务调度程序实例?
How many instances of a task scheduler should there be?
我正在尝试正确使用任务计划程序,即 IOTaskScheduler
。我有一个抓取网页的应用程序,对于每个请求(这是一项任务),我都会生成一个新的 IOTaskScheduler
。相反,我是否应该只有一个 IOTaskScheduler
实例并将其传递给所有 Web 请求(任务)?
或者,在哪些情况下生成单独的任务调度程序更可取?
要回答这个问题:为此 TaskScheduler
您需要共享一个实例,以便可以将许多任务多路复用到此调度程序提供的几个线程上。
你应该怎么做:你根本不应该使用这个任务计划程序。它没有做任何特别的事情来使 IO 更快。使用使用普通 .NET 线程的普通固定并发调度程序。
Alternatively in which cases would it be preferred to generate separate task schedulers?
我一个都不知道。调度程序旨在将许多任务多路复用到几个线程。向每个调度程序注册单个任务限制了调度程序可以智能地执行的操作。
对于某些调度程序来说,这无关紧要。例如,对于将每个任务放入新线程的调度程序。
我正在尝试正确使用任务计划程序,即 IOTaskScheduler
。我有一个抓取网页的应用程序,对于每个请求(这是一项任务),我都会生成一个新的 IOTaskScheduler
。相反,我是否应该只有一个 IOTaskScheduler
实例并将其传递给所有 Web 请求(任务)?
或者,在哪些情况下生成单独的任务调度程序更可取?
要回答这个问题:为此 TaskScheduler
您需要共享一个实例,以便可以将许多任务多路复用到此调度程序提供的几个线程上。
你应该怎么做:你根本不应该使用这个任务计划程序。它没有做任何特别的事情来使 IO 更快。使用使用普通 .NET 线程的普通固定并发调度程序。
Alternatively in which cases would it be preferred to generate separate task schedulers?
我一个都不知道。调度程序旨在将许多任务多路复用到几个线程。向每个调度程序注册单个任务限制了调度程序可以智能地执行的操作。
对于某些调度程序来说,这无关紧要。例如,对于将每个任务放入新线程的调度程序。