gpt4 book ai didi

c# - BackgroundWorker 是如何工作的?

转载 作者:行者123 更新时间:2023-11-30 21:23:09 25 4
gpt4 key购买 nike

它如何知道何时在它的 progresschanged 事件处理程序中编码对 UI 线程的调用?

我知道 SynchronizationContext.Current 可以解决这个问题,但是这个属性只在主 UI 线程中设置,如果在另一个后台线程上创建 backgroundworker 怎么办?

谁能解释一下?

最佳答案

根据 Reflector,从 UI 线程调用的 BackgroundWorker.RunWorkAsync 使用 AsyncOperationManager.CreateOperation。

此方法访问 SynchronizationContext.Current(如果不存在则创建一个新的)。

所以SynchronizationContext是在启动BGW的时候保存的。

关于c# - BackgroundWorker 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1944913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com