Topic
UI 執行緒與計時器
處理 Windows 桌面應用程式中 WPF / WinForms 的 UI 執行緒、async/await、Dispatcher 用法以及計時器選擇的主題頁。
為什麼這個主題容易棘手
在 WPF / WinForms 的工作中,非同步流程、UI 更新、週期工作常常糾在一起,很快就搞不清楚哪段跑在哪個執行緒上。
本主題把卡死、跨執行緒更新、計時器選擇等問題當成一個實務群組,作為一條共通路徑追下去。
- 搞不清楚
await之後會回到哪裡 - UI 工作與背景工作開始混在一起
DispatcherTimer、System.Threading.Timer、PeriodicTimer沒有清楚界線地混用- WinForms / WPF 程式碼的形貌隨時間變得難以維護
這個主題常見的問題
- 還留著
.Result/.Wait(),UI 卡住 Task.Run與 UI 更新的界線不清- 週期工作分散,出現漂移或重疊執行
- 想降低對 UI 執行緒的耦合,又不想破壞畫面的職責邊界
常見方向
把 UI 執行緒與週期工作視為同一件事 整理,而不是一條條獨立的小知識,處理起來會容易很多。
連出的文章與相關服務頁,是為了協助你判斷下一步該是設計整理、實作修正,還是兩者都做。
Get in Touch
If this page is close to the situation you are dealing with, please contact us with the current context and what kind of support you need.