Create a multi‐queue thread pool with the given limits.
Synopsis
Declared in <bdlmt_multiqueuethreadpool.h>
MultiQueueThreadPool(
bslmt::ThreadAttributes const& threadAttributes,
int minThreads,
int maxThreads,
int maxIdleTime,
bslma::Allocator* basicAllocator = 0);
Description
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.
Parameters
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 |
Created with MrDocs