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