【发布时间】:2013-10-10 23:19:09
【问题描述】:
这可能是一个非常幼稚的问题:
我正在尝试创建一个使用 ZeroMQ 与多个服务器通信的客户端应用程序。客户端希望向这些服务器发送大量请求并获得对它们的响应(所以 req-rep 模式)。
我面临的问题是 ZeroMQ 套接字只能在创建它们的线程中使用。
一种方法是在新任务中调用每个请求:在任务内部,创建连接,发送请求并获得响应。但是,连接设置非常昂贵。
第二种方法可能是在不同线程中打开与服务器的连接;然后以某种方式在与线程相同的上下文中调用发送例程并获得结果。 C#中有没有办法从线程Y调用线程X上的函数,但在线程X的上下文中执行它然后获取返回值?
我知道这可能是一个不好的方法。在没有太多开销的情况下实现我想要的最佳方法是什么?
【问题讨论】:
标签: c# multithreading zeromq