Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Describes how task queue callbacks are processed.
Syntax
typedef enum class XTaskQueueDispatchMode : uint32_t
{
Manual,
ThreadPool,
SerializedThreadPool,
Immediate
} XTaskQueueDispatchMode
Constants
Constant | Description |
---|---|
Manual | Callbacks are not automatically dispatched. Callbacks submitted to a port using this dispatch mode are queued, but must be dispatched manually by XTaskQueueDispatch. Note: If you have a thread that pumps Windows messages:
For more information, see Creating a manual task queue. |
ThreadPool | Callbacks submitted to a port using this dispatch mode are queued and automatically dispatched on the system thread queue. The task queue executes the calls in parallel, taking a call to execute from the task queue in turn as thread pool threads become available. For more information about creating a thread pool task queue, see Creating a thread pool task queue. |
SerializedThreadPool | Callbacks submitted to a port using this dispatch mode are queued and automatically dispatched on the system thread queue. Unlike ThreadPool , the task queue executes the calls in serial, one at a time, on the thread pool. |
Immediate | Callbacks are not queued at all, but are executed immediately on the thread that submitted them. For an example that implements the immediate dispatch mode, see Creating a composite task queue. |
Remarks
This enumeration is used by XTaskQueueCreate to specify the dispatch modes for the work and completion ports of a task queue.
The work port and completion port can use different dispatch modes. For example, you can use the thread pool dispatch mode for the work port to automatically queue & execute callbacks in parallel on the system thread queue, and use the manual dispatch mode for the completion port to manually queue & execute callbacks on the Windows message loop thread. For more information, see Using a task queue with a Windows message loop.
Requirements
Header: XTaskQueue.h
Supported platforms: Windows, Xbox One family consoles and Xbox Series consoles
See also
XTaskQueue members
Asynchronous Programming Model
Async Task Queue Design