如何在每个客户端线程中处理来自Server的事件

时间:2013-07-04 15:55:20

标签: c# multithreading design-patterns

我有一个Server个修改Data : IData和许多Client个实例对IData事件感兴趣。

我希望Server在单独的线程上运行,并且在修改Data时没有延迟

我希望每个Client运行一个单独的线程,彼此之间具有相同的优先级。

我希望每个Client保留IData次来电的正确顺序。

如何实现这个?

1 个答案:

答案 0 :(得分:0)

实施pub/sub模式。

您可以将MemBus用于进程内消息总线。它可以轻松配置并支持同步和异步处理。

您的ServerIData事件推送到总线,订阅同一总线的多个Clients将按照服务器发送的顺序接收消息。可以在单独的线程上调用每个Client实例。