Skip to main content

XTaskQueueDispatch

處理工作佇列中指定連接埠的一個項目。

語法

參數

queue   _In_
類型:XTaskQueueHandle
要在其上分派工作的佇列。 port   _In_
類型:XTaskQueuePort
要分派的連接埠。 timeoutInMs   _In_
類型:uint32_t
傳回 false 之前等候工作抵達的毫秒數。您可以傳遞 INFINITE 以無限期等候。

傳回值

類型:bool 如果此函式分派了呼叫,則傳回 true,否則傳回 false。如果佇列已終止,即使傳遞 INFINITE 作為逾時,此函式也會傳回 false。

備註

您可以傳遞逾時,這會使 XTaskQueueDispatch 等候佇列中有項目抵達。 如果工作佇列連接埠是以 XTaskQueueDispatchMode::ThreadPool、XTaskQueueDispatchMode::SerializedThreadPool 或 XTaskQueueDispatchMode::Immediate 分派模式建立,就會自動分派回呼。對於手動分派連接埠,您必須呼叫 XTaskQueueDispatch。任何分派模式都可以呼叫 XTaskQueueDispatch,但請注意,呼叫一律會在呼叫 XTaskQueueDispatch 的執行緒上分派。 alert 效能注意事項:
將項目加入佇列必須是無鎖定且無等候的,以符合上游程式碼的效能需求。下列 API 為無鎖定:
alert 效能注意事項:
XTaskQueueDispatch 在處理工作連接埠中的項目時所花費的時間不固定,取決於正在執行的工作。 在某些情況下,呼叫端執行緒可能會封鎖,以等候其他系統工作完成。
下列範例示範如何使用 XTaskQueueDispatch 函式來處理工作佇列中的項目。
SubmitCallback 是在 XTaskQueueSubmitCallback 函式的程式碼範例中定義的協助程式函式。

需求

標頭: XTaskQueue.h 程式庫: xgameruntime.lib 支援的平台: Windows、XBOX One 系列主機和 XBOX Series 主機

概念文件

另請參閱

XTaskQueue 成員
非同步程式設計模型
非同步工作佇列設計
Last modified on October 6, 2026