平时我们在用多线程开发的时候少不了Task,确实task给我们带来了巨大的编程效率,在Task底层有一个TaskScheduler,它决定了task该如何被调度,而
在.net framework中有两种系统定义Scheduler,第一个是Task默认的ThreadPoolTaskScheduler,还是一种就是SynchronizationContextTaskScheduler,
以及这两种类型之外的如何自定义,这篇刚好和大家分享一下。
一: ThreadPoolTaskScheduler
这种scheduler机制是task的默认机制,而且从名字上也可以看到它是一种委托到ThreadPool的机制,刚好也从侧面说明task是基于ThreadPool基础上的
封装,如果想具体查看代码逻辑,你可以通过ILSpy反编译一下代码看看:
1 protected internal override void QueueTask(Task task) 2 { 3 if ((task.Options

