.net - .NET SynchronizationContext-将其发送/发布到哪个线程?

标签 .net multithreading synchronizationcontext

我计划使用SynchronizationContext类执行UI更新的一些跨线程编码。这样做的目的是避免不得不引用主要形式(即Application.Run(form)中的形式),以便我可以说mainForm.BeginInvoke();
但是,文档中尚不清楚的一件事是,当您调用SynchronizationContext.Post()时,它会编码调用该线程。它总是主应用程序线程,还是首先初始化SynchronizationContext对象的线程,还是什么?

最佳答案

取决于SynchronizationContext的类型。当您扩展类时,可以在您喜欢的任何线程上(或多或少)实现方法调用。 Windows窗体之一将混搭回到主ui线程。 wpf将使用调度程序线程,依此类推。

关于.net - .NET SynchronizationContext-将其发送/发布到哪个线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1277076/

相关文章:

c# - 在保持水平对齐的同时缩放

c# - 内存型号 : preventing store-release and load-acquire reordering

java - ObjectInputStream - 如何等待新数据?

多线程和映射多个变量

java - 通过Runnable任务获取自定义Thread的属性

c# - 'context' 在 C# async/await 代码中到底意味着什么?

.net - .net枚举是可blittable类型吗? (编码)

c# - 字符串插值不会建立在 TeamCity 上

c# - SynchronizationContext 在 Task.Run 上流动,但在 await 上不流动

c# - 何时在 UI 应用程序中调用 SynchronizationContext.SetSynchronizationContext()?