8#ifndef INCLUDED_BDLMT_MULTIPRIORITYTHREADPOOL
9#define INCLUDED_BDLMT_MULTIPRIORITYTHREADPOOL
439#include <bdlscm_version.h>
458#include <bsl_climits.h>
460#if defined(BSLS_PLATFORM_OS_UNIX)
461 #include <bsl_c_signal.h>
463#include <bsl_functional.h>
492#ifndef BDE_OMIT_INTERNAL_DEPRECATED
500 static const char s_defaultThreadName[16];
525 const int d_numThreads;
Definition bdlcc_multipriorityqueue.h:566
Definition bdlmt_multiprioritythreadpool.h:479
MultipriorityThreadPool(int numThreads, int numPriorities, const bslmt::ThreadAttributes &threadAttributes, bslma::Allocator *basicAllocator=0)
int numStartedThreads() const
@ MAX_NUM_PRIORITIES
Definition bdlmt_multiprioritythreadpool.h:494
@ BCEP_MAX_NUM_PRIORITIES
Definition bdlmt_multiprioritythreadpool.h:493
@ k_MAX_NUM_PRIORITIES
Definition bdlmt_multiprioritythreadpool.h:491
bsl::function< void()> ThreadFunctor
Definition bdlmt_multiprioritythreadpool.h:488
int numPendingJobs() const
~MultipriorityThreadPool()
MultipriorityThreadPool(int numThreads, int numPriorities, bslma::Allocator *basicAllocator=0)
int enqueueJob(const ThreadFunctor &job, int priority)
int numActiveThreads() const
int numPriorities() const
int enqueueJob(bslmt_ThreadFunction jobFunction, void *jobData, int priority)
BSLMF_NESTED_TRAIT_DECLARATION(MultipriorityThreadPool, bslma::UsesBslmaAllocator)
Forward declaration.
Definition bslstl_function.h:934
Definition bslma_allocator.h:457
Definition bslmt_condition.h:220
Definition bslmt_mutex.h:315
Definition bslmt_threadattributes.h:356
Definition bslmt_threadgroup.h:156
Definition bsls_atomic.h:743
void *(* bslmt_ThreadFunction)(void *)
Definition bslmt_threadutil.h:355
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
Definition bdlmt_eventscheduler.h:522
Definition bslma_usesbslmaallocator.h:343