This private class provides a thread‐safe, lightweight job queue.

Synopsis

Declared in <bdlmt_multiqueuethreadpool.h>

class MultiQueueThreadPool_Queue;

Type Aliases

Name

Description

Job

Defines a type alias for the job functor type.

Member Functions

Name

Description

MultiQueueThreadPool_Queue [constructor]

Create a queue bound to the specified multi‐queue thread pool.

~MultiQueueThreadPool_Queue [destructor]

Destroy this queue.

batchSize

Return this queue's execution batch size.

disable

Disable enqueuing to this queue.

drainWaitWhilePausing

Block until all threads waiting for this queue to pause are released.

enable

Enable enqueuing to this queue.

enqueueDeletion

Disable this queue and schedule its deletion.

executeFront

Execute and dequeue the job at the front of this queue.

initiatePause

Begin pausing this queue without waiting for the current job.

isDrained

Report whether all jobs in this queue are finished.

isEnabled

Report whether enqueuing to this object is enabled. This object is constructed with enqueuing enabled.

isPaused

Report whether this object is paused.

length

Return an instantaneous snapshot of the length of this queue.

pushBack

Enqueue functor at the back of this queue.

pushFront

Add functor at the front of this queue.

reset

Reset this queue to its initial state.

resume

Allow jobs on this queue to begin executing.

setBatchSize

Set this queue's job execution batch size.

waitWhilePausing

Wait until the current job finishes and this queue is paused.

operator BloombergLP::bslmf::NestedTraitDeclaration<MultiQueueThreadPool_Queue, UsesBslmaAllocator>

Declare that this type uses a bslma allocator.

Created with MrDocs