Construct a thread pool with the specified threadPoolName.
Synopsis
Declared in <bdlmt_threadpool.h>
ThreadPool(
bslmt::ThreadAttributes const& threadAttributes,
int minThreads,
int maxThreads,
int maxIdleTime,
std::string_view const& threadPoolName,
bdlm::MetricsRegistry* metricsRegistry,
bslma::Allocator* basicAllocator = 0);
Description
Construct a thread pool with the specified threadAttributes, the specified minThreads minimum number of threads, the specified maxThreads maximum number of threads, the specified maxIdleTime idle time (in milliseconds) after which a thread may be considered for destruction, the specified threadPoolName to be used to identify this thread pool, and the specified metricsRegistry to be used for reporting metrics. If metricsRegistry is 0, bdlm::MetricsRegistry::singleton() is used. Optionally specify a basicAllocator used to supply memory. If basicAllocator is 0, the currently installed default allocator is used. The name used for created threads is threadAttributes.threadName() if not empty, otherwise threadPoolName if not empty, otherwise "bdl.ThreadPool". The behavior is undefined unless 0 <= minThreads, minThreads <= maxThreads, and 0 <= maxIdleTime.
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 |
threadPoolName |
name identifying this thread pool |
metricsRegistry |
metrics registry, or singleton if 0 |
basicAllocator |
memory allocator; null uses the default |
Created with MrDocs