【发布时间】:2014-06-09 12:49:42
【问题描述】:
我有自己的TaskScheduler 实现。它存在的主要原因是它将处理器核心关联设置到运行我的任务的线程。
当我以下列方式使用它时:
var myTaskSceduler = new MyTaskScheduler(4);
var taskFactory = new TaskFactory(myTaskSceduler);
taskFactory.StartNew(DoSomething);
亲和力工作正常,任务将只在指定的核心上运行。
如何更改 Task.Factory 或 Task.Factory.Scheduler 以便我的调度程序将成为默认调度程序
Task.Factory.StartNew()
正在被调用?
【问题讨论】:
-
你不能。
Task.Factory和TaskScheduler.Default由静态只读字段支持。可以设置TaskFactory的默认调度程序的唯一方法是通过其构造函数。
标签: c# .net multithreading asynchronous async-await