从多个线程访问 NetMQ 套接字

Accessing NetMQ sockets from multiple threads

从多个线程访问 NetMQ 套接字是否安全,只要它们不同时使用它?

例如,
以下场景是否可行:

  1. 线程A使用套接字。
  2. 话题 A 结束。
  3. 线程B使用同一个套接字。

如果没有,
唯一的运行线程必须与创建套接字的线程相同吗?

从技术上讲你可以。但是你怎么能保证它实际上没有被并发使用呢?如果你想使用来自多个线程的套接字,我建议使用锁。另请查看 NetMQQueue,它是新的且未记录,仅用于排队的线程安全。它可能会帮助您解决 NetMQ 套接字之间的同步线程问题,因为您可以使用 Poller 对其进行轮询。

https://github.com/zeromq/netmq/blob/master/src/NetMQ.Tests/NetMQQueueTests.cs