C#通过事件同步两个对象

标签 c# multithreading synchronization

我有 2 个对象。 Foo 和 Bar 在两个不同的线程中。现在我想在 Foo 中引发一个事件,但在 Bar 的线程中。

我该如何使用 SynchronizationContext.Current?

最佳答案

“Foo”和“Bar”都没有真正的线程……您需要一个外部消息泵机制来在线程之间推送消息,例如 winforms (Control.Invoke) 和 WPF (Dispatcher) 中提供的机制。或者,如果您不介意其中一个线程专门用于(被动)等待消息,那么(同步的)生产者/消费者队列之类的东西就足够了。

除非您编写了自己的同步上下文,否则我们不可能说出SynchronizationContext.Current 会是什么;在许多情况下,它是 null

您能否为问题添加更多上下文?

关于C#通过事件同步两个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/711982/

相关文章:

c# - Base64UrlEncode 的使用语句

c# - 当我更新我的 ObservableCollection 时 GUI 卡住

java - 我编写了以下程序,用于在线程的帮助下用java创建动画。但它给o/p作为透明窗口

java - 在基于该对象的同步块(synchronized block)中分配对象 (Java)

sql - 将数据库安全分发给外部客户端

cuda - 在 CUDA 中实现临界区

c# - 如何在单个 ASP.NET 页面中监听套接字

c# - 静态类优缺点

python - python Tkinter,线程和循环

c# - 更改 SSL 网站的 Web.Config