> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XTaskQueueDispatchMode

> XTaskQueueDispatchMode

# XTaskQueueDispatchMode

描述工作佇列回呼的處理方式。

## 語法

```cpp theme={null}
typedef enum class XTaskQueueDispatchMode  : uint32_t  
{  
    Manual,  
    ThreadPool,  
    SerializedThreadPool,  
    Immediate  
} XTaskQueueDispatchMode  
```

## 常數

| 常數 | 描述 |
| - | - |
| Manual | 不會自動分派回呼。使用此分派模式提交至連接埠的回呼會排入佇列，但必須由 [XTaskQueueDispatch](https://docs.xbox.com/zh-TW/reference/system/xtaskqueue/functions/xtaskqueuedispatch.md) 手動分派。 **注意：** 如果您有發送 Windows 訊息的執行緒：<ul><li>請勿為工作連接埠分派回呼</li><li>如果您為完成連接埠分派回呼，則必須繼續為該執行緒發送 Windows 訊息</li></ul> 如需詳細資訊，請參閱[建立手動工作佇列](https://docs.xbox.com/zh-TW/build/core-features/common/async/async-task-queue-design-howto/creating-manual-task-queue.md)。 |
| ThreadPool | 使用此分派模式提交至連接埠的回呼會排入佇列，並在系統執行緒佇列上自動分派。工作佇列會平行執行呼叫，當執行緒集區執行緒可用時，依序從工作佇列取得要執行的呼叫。 如需建立執行緒集區工作佇列的詳細資訊，請參閱[建立執行緒集區工作佇列](https://docs.xbox.com/zh-TW/build/core-features/common/async/async-task-queue-design-howto/creating-thread-pool-task-queue.md)。 |
| SerializedThreadPool | 使用此分派模式提交至連接埠的回呼會排入佇列，並在系統執行緒佇列上自動分派。與 `ThreadPool` 不同，工作佇列會在執行緒集區上依序執行呼叫，一次一個。 |
| Immediate | 回呼完全不會排入佇列，而是在提交它們的執行緒上立即執行。如需實作立即分派模式的範例，請參閱[建立複合工作佇列](https://docs.xbox.com/zh-TW/build/core-features/common/async/async-task-queue-design-howto/creating-composite-task-queue.md)。 |

## 備註

[XTaskQueueCreate](https://docs.xbox.com/zh-TW/reference/system/xtaskqueue/functions/xtaskqueuecreate.md) 會使用此列舉來指定工作佇列之工作連接埠和完成連接埠的分派模式。

工作連接埠和完成連接埠可以使用不同的分派模式。例如，您可以對工作連接埠使用執行緒集區分派模式，在系統執行緒佇列上自動排入佇列並平行執行回呼，並對完成連接埠使用手動分派模式，在 Windows 訊息迴圈執行緒上手動排入佇列並執行回呼。如需詳細資訊，請參閱[搭配 Windows 訊息迴圈使用工作佇列](https://docs.xbox.com/zh-TW/build/core-features/common/async/async-task-queue-design-howto/task-queue-windows-msg-loop.md)。

## 需求

**標頭：** XTaskQueue.h

**支援的平台：** Windows、XBOX One 系列主機和 XBOX Series 主機

## 另請參閱

[XTaskQueue 成員](https://docs.xbox.com/zh-TW/reference/system/xtaskqueue/xtaskqueue_members.md)\
[非同步程式設計模型](https://docs.xbox.com/zh-TW/build/core-features/common/async/async-programming-model.md)\
[非同步工作佇列設計](https://docs.xbox.com/zh-TW/build/core-features/common/async/async-task-queue-design.md)


## Related topics

- [XTaskQueueCreate](https://docs.xbox.com/zh-TW/reference/system/xtaskqueue/functions/xtaskqueuecreate.md)
- [XTaskQueueDispatch](https://docs.xbox.com/zh-TW/reference/system/xtaskqueue/functions/xtaskqueuedispatch.md)
- [XTaskQueue (API 內容)](https://docs.xbox.com/zh-TW/reference/system/xtaskqueue/xtaskqueue_members.md)
- [在 PlayFab Unified SDK 中進行非同步呼叫](https://docs.xbox.com/zh-TW/services/playfab/sdks/unified-sdk/async-model.md)
- [進行非同步呼叫](https://docs.xbox.com/zh-TW/services/playfab/sdks/c/async.md)
