次の方法で共有


タスク キューのディスパッチの例

このトピックでは、タスク キューをディスパッチする方法の例を示します。 タスク キューのディスパッチは、手動ポートごとに必要です。 ポートがいつ、どのようにディスパッチされるによって、キューに入っているコールバックのスレッド動作および並列動作が決まります。

std::thread dispatherThread = std::thread(
    [taskQueue]()
    {
        while (true)
        {
            bool processed = XTaskQueueDispatch(taskQueue,
                XTaskQueuePort::Completion, INFINITE);

            if (!processed)
            {
                // The task queue has been terminated, so return.
                break;
            }
        }
    });

この例では、タスク キューが終了するまで、渡されたタスク キューの完了ポートを継続的にディスパッチするため、追加のスレッドが生成されます。

関連項目

XTaskQueue ライブラリの概要

タスク キューの作成 (例)

タスク キューのクリーンアップ (例)

タスク キューの設計

XTaskQueue