This header provides an interface and simple implementation for a task runner. Another threaded, serial implementation using a queue is available in the scheduler module's SerialTaskRunner.
Synopsis
Declared in <util/task_runner.h>
class TaskRunnerInterface;
Member Functions
Name |
Description |
|
Destroys the task runner interface. |
|
Forces the processing of all pending events. |
|
The callback can either be queued for later/asynchronous/threaded processing, or be executed immediately for synchronous processing. |
|
Returns the number of currently pending events. |
Derived Classes
Name |
Description |
Task runner that processes each callback synchronously on insertion. |
|
Class used by CScheduler clients which may schedule multiple jobs which are required to be run serially. Jobs may not be run on the same thread, but no two jobs will be executed at the same time and memory will be release‐acquire consistent (the scheduler will internally do an acquire before invoking a callback as well as a release at the end). In practice this means that a callback B() will be able to observe all of the effects of callback A() which executed before it. |
Created with MrDocs