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