从多个线程访问NetMQ
套接字是否安全,只要它们不同时使用它?
例如,
以下场景是否可以:
- 线程
A
使用套接字。 - 话题
A
结束。 - 线程
B
使用相同的套接字。
如果不是,
唯一的操作线程是否必须与创建套接字的线程相同?
从多个线程访问NetMQ
套接字是否安全,只要它们不同时使用它?
例如,
以下场景是否可以:
A
使用套接字。A
结束。B
使用相同的套接字。如果不是,
唯一的操作线程是否必须与创建套接字的线程相同?
从技术上讲,你可以。但是你怎么能保证它实际上不是同时使用的呢?如果您想从多个线程使用套接字,我建议使用锁。另请查看 NetMQQueue,它是新的且未记录的,仅用于入队的线程安全。它可以帮助您解决 NetMQ 套接字之间的同步线程,因为您可以使用轮询器对其进行轮询。
https://github.com/zeromq/netmq/blob/master/src/NetMQ.Tests/NetMQQueueTests.cs