[#BloombergLP-bdlmt]
= xref:BloombergLP.adoc[BloombergLP]::bdlmt
:relfileprefix: ../
:mrdocs:

Namespace for multithreaded timer and event scheduling components&period;

== Types

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlmt/EventScheduler.adoc[`EventScheduler`] 
| Thread&hyphen;safe scheduler that dispatches callbacks on a worker thread&period;
| xref:BloombergLP/bdlmt/EventSchedulerEventHandle.adoc[`EventSchedulerEventHandle`] 
| Objects of this type refer to events in the `EventScheduler` API&period; They are convertible to `const Event&ast;` references and may be used in any method that expects them&period;
| xref:BloombergLP/bdlmt/EventSchedulerRecurringEventHandle.adoc[`EventSchedulerRecurringEventHandle`] 
| Handle referring to a recurring event in an `EventScheduler`&period;
| xref:BloombergLP/bdlmt/EventSchedulerTestTimeSource.adoc[`EventSchedulerTestTimeSource`] 
| Test utility that controls the clock used by an `EventScheduler`&period;
| xref:BloombergLP/bdlmt/EventSchedulerTestTimeSource_Data.adoc[`EventSchedulerTestTimeSource&lowbar;Data`] 
| Component&hyphen;private implementation of test time&hyphen;source state&period;
| xref:BloombergLP/bdlmt/FixedThreadPool.adoc[`FixedThreadPool`] 
| This class implements a thread pool used for concurrently executing multiple user&hyphen;defined functions (&quot;jobs&quot;)&period;
| xref:BloombergLP/bdlmt/MultiQueueThreadPool.adoc[`MultiQueueThreadPool`] 
| This class implements a dynamic, configurable pool of queues, each of which is processed serially by a thread pool&period;
| xref:BloombergLP/bdlmt/MultiQueueThreadPool_Queue.adoc[`MultiQueueThreadPool&lowbar;Queue`] 
| This private class provides a thread&hyphen;safe, lightweight job queue&period;
| xref:BloombergLP/bdlmt/MultipriorityThreadPool.adoc[`MultipriorityThreadPool`] 
| Thread pool that executes jobs according to integral priorities&period;
| xref:BloombergLP/bdlmt/Signaler.adoc[`Signaler`] 
| Thread&hyphen;safe signaler that invokes connected slots via its call operator&period;
| xref:BloombergLP/bdlmt/SignalerConnection.adoc[`SignalerConnection`] 
| Lightweight handle representing a signaler&hyphen;to&hyphen;slot connection&period;
| xref:BloombergLP/bdlmt/SignalerConnectionGuard.adoc[`SignalerConnectionGuard`] 
| RAII guard that disconnects a `SignalerConnection` on destruction&period;
| xref:BloombergLP/bdlmt/Signaler_ArgumentType.adoc[`Signaler&lowbar;ArgumentType`] 
| Provide convenient forwarding types for each argument of `t&lowbar;PROT`&period;
| xref:BloombergLP/bdlmt/Signaler_Invocable-03.adoc[`Signaler&lowbar;Invocable`] 
| Provides a call operator for the derived class `bdlmt&colon;&colon;Signaler`, such that its call signature is identical to that of `t&lowbar;PROT`&period;
| xref:BloombergLP/bdlmt/Signaler_Node.adoc[`Signaler&lowbar;Node`] 
| Shared implementation object backing a `Signaler`&period;
| xref:BloombergLP/bdlmt/Signaler_NotArg.adoc[`Signaler&lowbar;NotArg`] 
| Provides a &quot;Not an Argument&quot; tag type&period;
| xref:BloombergLP/bdlmt/Signaler_SlotNode.adoc[`Signaler&lowbar;SlotNode`] 
| Dynamically allocated container holding one connected slot&period;
| xref:BloombergLP/bdlmt/Signaler_SlotNode_Base.adoc[`Signaler&lowbar;SlotNode&lowbar;Base`] 
| Non&hyphen;template protocol base for `Signaler&lowbar;SlotNode`&period;
| xref:BloombergLP/bdlmt/ThreadMultiplexor.adoc[`ThreadMultiplexor`] 
| Mechanism that partitions threads to process user&hyphen;defined jobs&period;
| xref:BloombergLP/bdlmt/ThreadPool.adoc[`ThreadPool`] 
| This class implements a thread pool used for concurrently executing multiple user&hyphen;defined functions (&quot;jobs&quot;)&period;
| xref:BloombergLP/bdlmt/ThreadPoolWaitNode.adoc[`ThreadPoolWaitNode`] 
| Component&hyphen;private node for the LIFO wait list of idle worker threads&period;
| xref:BloombergLP/bdlmt/Throttle.adoc[`Throttle`] 
| Mechanism that regulates the frequency at which actions may be taken&period;
| xref:BloombergLP/bdlmt/Throttle_InitHelper.adoc[`Throttle&lowbar;InitHelper`] 
| Private helper that validates compile&hyphen;time throttle initialization arguments&period;
| xref:BloombergLP/bdlmt/TimerEventScheduler.adoc[`TimerEventScheduler`] 
| Thread&hyphen;safe scheduler that dispatches one&hyphen;shot and recurring callbacks&period;
| xref:BloombergLP/bdlmt/TimerEventSchedulerDispatcher.adoc[`TimerEventSchedulerDispatcher`] 
| Dispatcher functor type for `TimerEventScheduler`&period;
| xref:BloombergLP/bdlmt/TimerEventSchedulerTestTimeSource.adoc[`TimerEventSchedulerTestTimeSource`] 
| Test helper that substitutes a controllable clock into a timer scheduler&period;
| xref:BloombergLP/bdlmt/TimerEventSchedulerTestTimeSource_Data.adoc[`TimerEventSchedulerTestTimeSource&lowbar;Data`] 
| Test time&hyphen;source data for `TimerEventScheduler` (testing only)&period;
|===


== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlmt/FixedThreadPoolJobFunc.adoc[`FixedThreadPoolJobFunc`] 
| This type declares the prototype for functions that are suitable to be specified `bdlmt&colon;&colon;FixedThreadPool&colon;&colon;enqueueJob`&period;
| xref:BloombergLP/bdlmt/ThreadPoolJobFunc.adoc[`ThreadPoolJobFunc`] 
| This type declares the prototype for functions that are suitable to be specified `bdlmt&colon;&colon;FixedThreadPool&colon;&colon;enqueueJob`&period;
|===


== Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlmt/ThreadPoolEntry.adoc[`ThreadPoolEntry`] 
| Entry point for processing threads&period;
| xref:BloombergLP/bdlmt/swap-05.adoc[`swap`] 
| Swap the contents of `a` and `b`&period;
| xref:BloombergLP/bdlmt/operator_eq.adoc[`operator&equals;&equals;`] 
| Return `true` if `lhs` and `rhs` refer to the same slot&period;
| xref:BloombergLP/bdlmt/operator_not_eq.adoc[`operator!&equals;`] 
| Return `true` if `lhs` and `rhs` do not refer to the same slot&period;
| xref:BloombergLP/bdlmt/operator_lt.adoc[`operator&lt;`] 
| Return `true` if `lhs` is ordered before `rhs`&period;
| xref:BloombergLP/bdlmt/operator_le.adoc[`operator&lt;&equals;`] 
| Return `true` if `lhs` is ordered before or equal to `rhs`&period;
| xref:BloombergLP/bdlmt/operator_gt.adoc[`operator&gt;`] 
| Return `true` if `lhs` is ordered after `rhs`&period;
| xref:BloombergLP/bdlmt/operator_ge.adoc[`operator&gt;&equals;`] 
| Return `true` if `lhs` is ordered after or equal to `rhs`&period;
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
