Dispatcher.CurrentDispatcher(in System.Windows.Threading)和Application.Current.Dispatcher(in System.Windows)之間有什么區別?我的直覺告訴我,它Application.Current.Dispatcher永遠不會改變,并且對當前應用程序中的所有線程都是全局的,同時Dispatcher.CurrentDispatcher可能會Dispatcher根據調用它的線程創建一個新實例。那是對的嗎?如果是這樣,Dispatcher.CurrentDispatcher主要是為了多線程UI 的目的嗎?
3 回答
鳳凰求蠱
TA貢獻1825條經驗 獲得超4個贊
我的直覺告訴我Application.Current.Dispatcher永遠不會更改,并且對于當前應用程序中的所有線程都是全局的,而Dispatcher.CurrentDispatcher可能會根據調用它的線程來創建Dispatcher的新實例。
沒錯,這Application.Current.Dispatcher是應用程序的實例屬性,該屬性在構造時被分配為當前線程的調度程序。并且作為文檔Dispatcher.CurrentDispatcher指出:
獲取當前正在執行的線程的Dispatcher,如果尚未與該線程關聯,則創建一個新的Dispatcher。
如果是這樣,Dispatcher.CurrentDispatcher的目的主要是針對多線程UI嗎?
可能地,我在獲取后臺線程的分派器時沒有遇到任何用處,因為您通常沒有屬于您的UI元素,您可能希望向其分配操作。
- 3 回答
- 0 關注
- 1387 瀏覽
添加回答
舉報
0/150
提交
取消
