Doxygen XLinks
by
V: 2511R0
Website: doxygen
Loading...
Searching...
No Matches
dxl::DXLThreadPool Class Reference

Description:

A customized ALib thread-pool.

Definition at line 53 of file threadpool.hpp.

#include <threadpool.hpp>

Inheritance diagram for dxl::DXLThreadPool:
alib::threadmodel::ThreadPool alib::threads::TCondition< T > alib::lang::DbgCriticalSections::AssociatedLock

Private Method Index:

alib::threadmodel::PoolWorkerCreateWorker () override

Additional Inherited Members

Public Static Method Index: inherited from alib::threadmodel::ThreadPool
static int HardwareConcurrency () noexcept
Public Field Index: inherited from alib::threadmodel::ThreadPool
Ticks::Duration IdleWaitTime
ResizeStrategy Strategy
Public Method Index: inherited from alib::threadmodel::ThreadPool
void Acquire (ALIB_DBG_TAKE_CI)
int CountedIdleWorkers () const
int CountedOpenJobs () const
int CountedWorkers () const
int DbgDumpKnownJobs (NAString &target, const NString &linePrefix=" ")
bool DCSIsAcquired () const override
bool DCSIsSharedAcquired () const override
void DeleteJob (Job &job)
void DeleteJobDeferred (Job &job)
virtual void DisposeWorker (PoolWorker *poolWorker)
MonoAllocatorGetAllocator ()
PoolAllocatorGetPoolAllocator ()
bool IsIdle () const
void Release (ALIB_DBG_TAKE_CI)
TJob & Schedule (TArgs &&... args)
void ScheduleVoid (TArgs &&... args)
void Shutdown ()
uinteger StatsCountedScheduledJobs () const
void Sync ()
bool WaitForAllIdle (Ticks::Duration timeout, Ticks::Duration dbgWarnAfter)
Protected Field Index: inherited from alib::threadmodel::ThreadPool
int ctdIdle
int ctdOpenJobs
uinteger ctdStatJobsScheduled
int ctdWorkers
HashTable< MonoAllocator, DbgKnownJobsVDDbgKnownJobs
PoolWorkerlastThreadToJoin
MonoAllocator ma
int nextWorkerID
PoolAllocator pool
ListPA< QueueEntry, Recycling::None > queue
Ticks timeOfLastSizeChange
HashSet< MonoAllocator, PoolWorker * > workers
Protected Field Index: inherited from alib::threads::TCondition< T >
std::condition_variable conditionVariable
DbgConditionAsserter Dbg
std::mutex mutex
Protected Method Index: inherited from alib::threadmodel::ThreadPool
void addThread ()
bool isConditionMet ()
QueueEntry pop (PoolWorker *worker)
void pushAndRelease (QueueEntry &&entry)
TJob * schedule (bool keepJob, TArgs &&... args)
Protected Method Index: inherited from alib::threads::TCondition< T >
 TCondition (const character *dbgName)
void Acquire (ALIB_DBG_TAKE_CI)
TDerived & cast ()
void Release (ALIB_DBG_TAKE_CI)
void ReleaseAndNotify (ALIB_DBG_TAKE_CI)
void ReleaseAndNotifyAll (ALIB_DBG_TAKE_CI)
void WaitForNotification (ALIB_DBG_TAKE_CI)
void WaitForNotification (const Ticks &wakeUpTime, const CallerInfo &ci)
void WaitForNotification (const Ticks::Duration &maxWaitTimeSpan, const CallerInfo &ci)
void WaitForNotification (const Ticks::Duration::TDuration &maxWaitTimeSpan, const CallerInfo &ci)

Method Details:

◆ CreateWorker()

alib::threadmodel::PoolWorker * dxl::DXLThreadPool::CreateWorker ( )
inlineoverrideprivatevirtual

Creates a custom worker of type DXLPoolWorker.

Returns
A pool worker.

Reimplemented from alib::threadmodel::ThreadPool.

Definition at line 57 of file threadpool.hpp.


The documentation for this class was generated from the following file: