[zeromq-dev] How many OS threads does ZeroMQ use internally?

Pieter Hintjens ph at imatix.com
Thu Jan 9 15:14:58 CET 2014

For inproc you don't need any I/O threads at all. The default will be
1 additional thread per context, so as Bruno says, per process.

On Thu, Jan 9, 2014 at 2:33 PM, Jan Drabner <jan at jdrabner.eu> wrote:
> Hey there,
> We are currently doing research for our project to figure out the best
> way to do inter-thread communication with a message queue. As we are
> using zmq for networking purposes already, it was logical to also
> research it for the above purpose.
> Now, we will have a number of threads (say 5-10) communicating with each
> other to send commands, synchronize data, etc.
> Each of the threads will have to communicate with a certain number of
> other threads. I figured that for this setup, making each thread a
> publisher as well as a subscriber to the other threads it wants to
> listen to would be the best bet.
> However, I do not know how many internal zmq threads that would yield.
> Imagine this socket situation for thread A (all threads use the same
> context, only inproc is used):
> Socket for publishing
> Socket for subscribing to thread B
> Socket for subscribing to thread F
> Socket for subscribing to thread J
> How many internal zmq OS threads would be spawned for this?
> If it is just one (per context), it would be fine. If it is one
> additional internal thread per our thread (or per publishing socket), it
> would probably be acceptable. If it was per socket (any kind of socket),
> however, that would be really bad as it would mean we had roughly +5
> threads per our own thread. Even if those thread do not do much, they
> would still take away too many pieces of the cake.
> Hope someone can answer that question :)
> Regards,
> Jan
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev

More information about the zeromq-dev mailing list