C# BackgroundWorker已完成事件-哪个线程?
BackgroundWorker控件的已完成事件是否返回GUI线程,或者我是否必须将其封送回来C# BackgroundWorker已完成事件-哪个线程?,c#,multithreading,background,C#,Multithreading,Background,BackgroundWorker控件的已完成事件是否返回GUI线程,或者我是否必须将其封送回来 另外,进度事件是否会返回到GUI线程上,还是我必须将其封送回来?这两个事件都将被封送到UI线程上。所有事件都将返回到创建BackgroundWorker实例的线程上。你的客户所要做的就是监听事件 您可能已经到过这里,但请参见:它将在发起该操作的UI线程上引发。在引擎盖下,BackgroundWorker使用一个用于在两个线程之间封送的方法。WPF和WinForms都将在启动时安装适当的Synchron
另外,进度事件是否会返回到GUI线程上,还是我必须将其封送回来?这两个事件都将被封送到UI线程上。所有事件都将返回到创建BackgroundWorker实例的线程上。你的客户所要做的就是监听事件
您可能已经到过这里,但请参见:它将在发起该操作的UI线程上引发。在引擎盖下,BackgroundWorker使用一个用于在两个线程之间封送的方法。WPF和WinForms都将在启动时安装适当的SynchronizationContext。如果BackgroundWorker是从UI线程创建的,那么这两个事件也将在UI线程上引发 如果它是从后台线程创建的,则事件将在未定义的后台线程上引发 有关更多信息,请参阅本文和此连接问题