multithreading - 引发事件,以便在与原始订阅者相同的线程上处理它们

标签 multithreading events .net-4.0 c#-4.0 event-handling

在带有 C# 4.0 的 dotNET 中,如何确保在任意线程 X 上发生的事件将调用与订阅线程 A、B 或 C 相同的线程(或同步上下文)中的处理程序。

我试图避免将与线程相关的代码放入处理程序方法或事件站点。

如果我不必更改 += 和 -= 订阅以及“公共(public)事件 EventHandler myevent;”,那就太好了代码。

最佳答案

我不认为你可以直接做到这一点。您可以做的最好的事情是注册处理程序,它将在某个任意线程上运行,但会将数据传递给原始线程。

关于multithreading - 引发事件,以便在与原始订阅者相同的线程上处理它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3688695/

相关文章:

python - PyQt:如何在没有继承的情况下处理事件

用于订阅的 Java 监听器设计模式

c# - .NET 3.5 和 .NET 4.0 之间的排序差异

.net-4.0 - .NET 4 SDK 不安装 Bootstrapper 目录

c# - 使用 WCF 发现跨域发现非 WCF Windows 服务

wcf - 在WCF中处理线程异常

如果服务器不读取,Java 客户端套接字写入将被跳过

c++ - 我如何在这个循环中使用 openMP?

c# - VB6 事件传递 bool 参数,在 C# 中始终为 'true'

javascript - Opa流控、线程?