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

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

以及這兩種類型之外的如何自定義,這篇?jiǎng)偤煤痛蠹曳窒硪幌隆?/p>

 

一: 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 
        
		

網(wǎng)友評論