XTaskQueueDispatchMode
タスク キューのコールバックの処理方法が記述されています。
構文
typedef enum class XTaskQueueDispatchMode : uint32_t
{
Manual,
ThreadPool,
SerializedThreadPool,
Immediate
} XTaskQueueDispatchMode
定数
定数 | 説明 |
---|---|
Manual | コールバックが自動的にはディスパッチされません。 このディスパッチ モードを使用してポートに送信されたコールバックはキューに登録されますが、XTaskQueueDispatch によって手動でディスパッチする必要があります。 注意: Windows メッセージをポンプするスレッドがある場合:
詳細については、「手動タスク キューを作成する」を参照してください。 |
ThreadPool | このディスパッチ モードを使用してポートに送信されたコールバックはキューに登録され、システム スレッド キューに自動的にディスパッチされます。 タスク キューは、スレッド プールのスレッドが利用可能になると、実行する呼び出しをタスク キューから順番に受け取り、複数の呼び出しを並行で実行します。 スレッド プール タスク キューの作成の詳細については、「スレッド プール タスク キューを作成する」を参照してください。 |
SerializedThreadPool | このディスパッチ モードを使用してポートに送信されたコールバックはキューに登録され、システム スレッド キューに自動的にディスパッチされます。
ThreadPool とは異なり、タスク キューは、スレッド プールで 1 つずつ呼び出しを実行します。 |
Immediate | コールバックはキューに登録されず、そのコールバックを送信したスレッドですぐに実行されます。 即時ディスパッチ モードを実装する例については、「複合タスク キューを作成する」を参照してください。 |
解説
この列挙型は、タスクキューの作業および完了ポートのディスパッチ モードを指定するために、XTaskQueueCreate によって使用されます。
処理ポートと完了ポートでは異なるディスパッチ モードを使用できます。 たとえば、処理ポートではスレッド プール ディスパッチ モードを使用して、システム スレッド キューでコールバックを並行して自動登録/実行しながら、完了ポートでは手動ディスパッチ モードを使用して、Windows メッセージ ループ スレッドに手動で登録/実行できます。 詳細については、「Windows メッセージ ループでのタスク キューの使用」を参照してください。
要件
ヘッダー: XTaskQueue.h
サポートされているプラットフォーム: Windows、Xbox One ファミリー本体、Xbox Series 本体