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