常常會在程式中需要多開幾個執行緒(Thread)
不過如果不同執行緒中同時需要用到
同樣的物件(通常是UI的部分)
不過物件不能跨執行緒
這時候就需要用到Dispatcher
WPF在跨執行緒作業時
假設被用到的函式是
void Func(Type Param);
原本呼叫的地方(另一個執行緒中)本來應該是
Func(p);
直接改成
Dispatcher.Invoke(DispatcherPriority.Normal,
new Action<Type>(Func),p);
注意涵式不能有回傳值,參數可有多個(至少不超過四個都ok)
--
參考資料
使用 Dispatcher 建置回應性更佳的應用程式
沒有留言:
張貼留言