Create a multi-queue thread pool with the given limits.
Declared in <bdlmt_multiqueuethreadpool.h>
MultiQueueThreadPool(
bslmt::ThreadAttributes const& threadAttributes,
int minThreads,
int maxThreads,
int maxIdleTime,
bslma::Allocator* basicAllocator = 0);
Construct a MultiQueueThreadPool with the specified threadAttributes, the specified minThreads minimum number of threads, the specified maxThreads maximum number of threads, and the specified maxIdleTime idle time (in milliseconds) after which a thread may be considered for destruction. 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 <= minThreads, minThreads <= maxThreads, and `0 <= maxIdleTime. Note that the MultiQueueThreadPool` is created without any queues. Although queues may be created, start must be called before enqueuing jobs.
| Name | Description |
|---|---|
| threadAttributes | attributes used when creating worker threads |
| minThreads | minimum number of worker threads |
| maxThreads | maximum number of worker threads |
| maxIdleTime | idle time in milliseconds before a thread may exit |
| basicAllocator | memory allocator; null uses the default |