.NET Task Parallel Library如何处理具有阻塞操作的任务?在C++ Concrt库中,您可以使用Context :: Oversubscribe方法,但我没有在.NET库中找到这样的东西?是否LongRunningTask选项是处理阻塞任务的相应方式?
即:在C++中,您将执行以下操作:
即:在C++中,您将执行以下操作:
auto my_task_func = []
{
//Do work...
Context::Oversubscribe(true);
// Short or long blocking op.
Context::Oversubscribe(false);
//Do more work.
}
ThreadPool
(由TPL在后台使用)还会接收到其线程开始阻塞的通知,并使用此信息来决定何时创建新线程。 - svick