Skip to main content

XTaskQueueDispatch

处理任务队列中给定端口的项。

Syntax

Parameters

queue   _In_
类型:XTaskQueueHandle
要在其上调度工作的队列。 port   _In_
类型:XTaskQueuePort
要调度的端口。 timeoutInMs   _In_
类型:uint32_t
返回 false 之前等待工作到达的毫秒数。可以传递 INFINITE 以永久等待。

Return value

类型:bool 如果此函数调度了调用,则返回 true;否则返回 false。如果队列已终止,即使传入 INFINITE 作为超时,此函数也会返回 false。

Remarks

可以传递超时,这将导致 XTaskQueueDispatch 等待某项到达队列。 如果任务队列端口是使用 XTaskQueueDispatchMode::ThreadPoolXTaskQueueDispatchMode::SerializedThreadPoolXTaskQueueDispatchMode::Immediate 调度模式创建的,它将自动调度回调。对于手动调度端口,则需要调用 XTaskQueueDispatchXTaskQueueDispatch 可以对任何调度模式调用,但请注意调用始终在调用 XTaskQueueDispatch 的线程上调度。 alert 性能说明:
向队列添加项目必须是无锁且无等待的,以满足上游代码的性能要求。以下 API 是无锁的:
alert 性能说明:
XTaskQueueDispatch 在处理工作端口中的项时所花费的时间是可变的,取决于正在执行的工作。 在某些情况下,调用线程可能会阻塞,以等待其他系统工作完成。
以下示例说明如何使用 XTaskQueueDispatch 函数处理任务队列中的项。
SubmitCallback 是在 XTaskQueueSubmitCallback 函数的代码示例中定义的帮助程序函数。

Requirements

头文件: XTaskQueue.h 库: xgameruntime.lib 受支持的平台: Windows、XBOX One 系列主机和 XBOX Series 主机

Conceptual documentation

See also

XTaskQueue 成员
异步编程模型
异步任务队列设计
最后修改于 2026年8月24日