平時我們在用多線程開發(fā)的時候少不了Task,確實(shí)task給我們帶來了巨大的編程效率,在Task底層有一個TaskScheduler,它決定了task該如何被調(diào)度,而

在.net framework中有兩種系統(tǒng)定義Scheduler,第一個是Task默認(rèn)的ThreadPoolTaskScheduler,還是一種就是SynchronizationContextTaskScheduler,

以及這兩種類型之外的如何自定義,這篇剛好和大家分享一下。

 

一: ThreadPoolTaskScheduler

      這種scheduler機(jī)制是task的默認(rèn)機(jī)制,而且從名字上也可以看到它是一種委托到ThreadPool的機(jī)制,剛好也從側(cè)面說明task是基于ThreadPool基礎(chǔ)上的

封裝,如果想具體查看代碼邏輯,你可以通過ILSpy反編譯一下代碼看看:

移動開發(fā)培訓(xùn),Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),手機(jī)維修培訓(xùn),手機(jī)軟件培訓(xùn)

 1   protected internal override void QueueTask(Task task) 2          { 3              if ((task.Options