Create a thread multiplexor which uses, at most, the specified maxProcessors number of threads to process user-specified jobs, identified as callbacks of type Job. Jobs that cannot be processed immediately are placed on a queue having the specified maxQueueSize to be processed by the next free thread. Optionally specify a basicAllocator used to supply memory. If basicAllocator is 0, the currently installed default allocator is used. The behavior is undefined unless 0 < maxProcessors and 0 < maxQueueSize.
Declared in <bdlmt_threadmultiplexor.h>
ThreadMultiplexor(
int maxProcessors,
int maxQueueSize,
bslma::Allocator* basicAllocator = 0);