[zeromq-dev] thread affinity
Justin Karneges
justin at affinix.com
Sat Nov 30 07:30:43 CET 2013
Hi folks,
What's the latest on the thread-safety of sockets? I know that normal
0MQ practice suggests not using a socket from multiple threads, but I
wonder if this is nonetheless possible, for example by wrapping a mutex
around access.
The reason I ask is I'm exploring the possibility of using 0MQ in a
hybrid event-driven & threaded C++ environment (imagine something like
Goroutines or .NET tasks). A socket would never be used by two threads
simultaneously, but the thread on which a socket is utilized could
change depending on how the eventing system dispatches work. For
example, a task executing in one thread could go to sleep while it waits
for a message and then wake up in a different thread when a message
becomes available.
I just want to confirm that this is a valid usage of 0MQ, before I do
something that might not be possible or might get broken in a future
release.
Justin
More information about the zeromq-dev
mailing list