![](/img/trans.png)
[英]which thread does backgroundworker completed event handler run on?
[英]BackgroundWorker completed event - which thread?
BackgroundWorker 控件的已完成事件是否會在 GUI 線程上返回,或者我是否必須將其封送回來。
此外,進度事件是否會在 GUI 線程上返回,或者我是否必須將其編組?
這兩個事件都將被編組到 UI 線程上。
所有事件都將在創建 BackgroundWorker 實例的線程上返回。 您的客戶所要做的就是監聽事件。
您可能來過這里,但另請參閱: BackgroundWorker 事件
它將在發起操作的 UI 線程上引發。 在后台,BackgroundWorker 使用SynchronizationContext在兩個線程之間進行封送處理。 WPF 和 WinForms 都將在啟動時安裝適當的 SynchronizationContext。
如果 BackgroundWorker 是從 UI 線程創建的,那么這兩個事件也將在 UI 線程上引發。
如果它是從后台線程創建的,則該事件將在未定義的后台線程上引發。
有關更多信息,請參閱此帖子和此連接問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.