我计划使用SynchronizationContext类执行UI更新的一些跨线程编码。这样做的目的是避免不得不引用主要形式(即Application.Run(form)
中的形式),以便我可以说mainForm.BeginInvoke();
但是,文档中尚不清楚的一件事是,当您调用SynchronizationContext.Post()
时,它会编码调用该线程。它总是主应用程序线程,还是首先初始化SynchronizationContext
对象的线程,还是什么?
最佳答案
取决于SynchronizationContext的类型。当您扩展类时,可以在您喜欢的任何线程上(或多或少)实现方法调用。 Windows窗体之一将混搭回到主ui线程。 wpf将使用调度程序线程,依此类推。
关于.net - .NET SynchronizationContext-将其发送/发布到哪个线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1277076/