I have been reading zeromq list for a while now but is the first time I'm
asking something. So nice to meet you all :)
In the zeromq documentation/book is very clear that we shouldn't be
handling zeromq sockets from multiple threads without doing a memory
What is the recommended pattern to have one thread responsible for
connecting, binding and polling messages from sockets. And have multiple
thread sending messages.
My first approach was to have a threadsafe producer/consumer queue where
sender threads would push on the queue and the "zeromq" thread would pick
from queue and send through the wire. This works but I find it redundant
and memory inefficient.
My second approach (on which I used netmq) was to schedule a "send a
message" task on the Poller. This guaranteed that the task ran in the same
thread as the poller.
What would be the correct approach if I use clrzmq4 ?
*Second question :*
What is the correct approach for a "zeromq" thread to notify other threads
that I new message was received ?
- raise an event on another thread?
- use a threadsafe producer/consumer queue to dump receiving message ?
Zeromq is truly a great and fun framework to work with. I was wondering why
there not so much buzz about it? Do you know companies using in production?
zeromq-dev mailing list