我的應用程序嚴重依賴線程來處理超大型數據的複雜處理。隨着處理完成,UI需要更新。我知道並嘗試使用BackgroundWorker's
OnProgressChanged
和RunWorkerCompleted
方法來更新UI。還使用UI線程的Invoke
方法進行更新。在Win XP 32位和64位操作系統上似乎一切正常。在Win Vista和Win 7(32和64位)上,通過使用Invoke
方法更新UI時,應用程序會隨機掛起。從C#中的線程更新UI的其他方法
Invoke
的行爲在不同的Win OS上有變化嗎? 除Invoke
之外,還有哪些更新線程的UI的方法?
感謝
我的假設是,在不同的操作系統和環境中,更新UI只是需要更長的時間。 – RQDQ 2012-03-22 15:21:36
我不認爲這個問題是新的操作系統 - 我的猜測是,新機器只是更快/有更多的核心(所以併發問題可能會更早到達),或者你只是幸運 - 無論如何:沒有代碼我不' t認爲我們可以幫你 – Carsten 2012-03-22 15:21:52
應用程序不響應,或不刷新本身? – 2012-03-22 15:30:30