我有一個相當簡單的線程問題。如何將信息從ThreadPool.QueueUserWorkItem傳遞迴UI線程?
我在寫一個簡單的實用程序,它將根據用戶定義的參數運行各種SQL腳本。
爲了保持UI的響應並提供關於正在執行的腳本的狀態的反饋,我決定使用ThreadPool.QueueUserWorkItem
將適合於處理各種腳本的執行(通過SMO)。
不過,我有點困惑,我怎麼可以中繼SMO將返回到UI線程的輸出信息。
對於此實用程序,我使用WPF和MVVM進行演示。我想我會有一個ScriptWorker
類,我可以傳遞參數和位置以及運行腳本的順序。
在我運行每個腳本後,我想以某種方式將結果返回到UI線程,以便它更新輸出窗口,然後我希望工作人員移動到下一個任務。
我確定這是一個基本問題,但在看到QueueUserWorkItem
後,我發現我基本上是通過回調來開始工作的,但我不確定如何完成我想要完成的任務。
我立足我的假設關閉此Microsoft文章的:
http://msdn.microsoft.com/en-us/library/3dasc8as(VS.80).aspx
感謝您的信息!
我會看看BackgroundWorker類。它使事情變得輕鬆,可以輕鬆地運行後臺進程並將更新發送到UI線程 – SwDevMan81 2010-08-14 16:29:29