> ## 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.

# PartyThreadId

> 内部处理任务的高级分类。

内部处理任务的高级分类。

## 语法

```cpp theme={null}
enum class PartyThreadId    
{  
    Audio = 0,  
    Networking = 1,  
}  
```

## 常量

| 常量 | 说明 |
| - | - |
| Audio | 表示与音频相关的内部处理任务。 |
| Networking | 表示与网络相关的内部处理任务。 |

## 备注

与 [PartyManager::GetWorkMode()](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_getworkmode.md) 和 [PartyManager::SetWorkMode()](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_setworkmode.md) 结合使用时,允许游戏(分别)读取和写入关联内部处理任务的工作模式。游戏与内部处理任务的交互方式因当前配置的工作模式不同而存在很大差异。\
\
&#x20;当 PartyThreadId::Audio 工作模式设置为 [PartyWorkMode::Automatic](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/enums/partyworkmode.md) 时,Party 库将使用内部管理的、优先级高、频繁运行的具有实时要求的线程来执行该任务。在 Windows 和 XBOX 主机上,这些音频线程每 40 毫秒直接与 XAudio2 交互一次。Party 库的 XAudio2 实例在初始化时使用与通过 [PartyManager::SetThreadAffinityMask()](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_setthreadaffinitymask.md) 为 PartyThreadId::Audio 配置的处理器相关性对应的处理器相关性。如果未为音频线程类型指定处理器相关性,则 XAudio2 实例将使用处理器相关性 XAUDIO2\_DEFAULT\_PROCESSOR 进行初始化。   \
\
&#x20;当 PartyThreadId::Networking 工作模式设置为 [PartyWorkMode::Automatic](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/enums/partyworkmode.md) 时,将在内部创建和管理网络线程。这些线程由网络 I/O 和轮询机制共同驱动,每 16 毫秒到 100 毫秒或每次收到网络流量时唤醒一次。这些 PartyThreadId::Networking 线程的处理器相关性可以通过 [PartyManager::SetThreadAffinityMask()](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_setthreadaffinitymask.md) 进行可选配置。   \
\
&#x20;对于任何设置为 [PartyWorkMode::Manual](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/enums/partyworkmode.md) 的 PartyThreadId 类型工作模式,Party 库不会创建内部工作线程,而是由游戏负责通过定期调用 [PartyManager::DoWork()](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_dowork.md) 来执行所需的处理。这些游戏调用的频率应达到或超过工作模式为 [PartyWorkMode::Automatic](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/enums/partyworkmode.md) 时内部线程使用的最低轮询频率。

## 要求

**标头:** Party.h

## 另请参阅

[Party 成员](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/party_members.md)\
[PartyManager::GetThreadAffinityMask](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_getthreadaffinitymask.md)\
[PartyManager::SetThreadAffinityMask](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_setthreadaffinitymask.md)\
[PartyManager::SetWorkMode](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_setworkmode.md)\
[PartyManager::GetWorkMode](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_getworkmode.md)\
[PartyManager::DoWork](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_dowork.md)


## Related topics

- [PartyManager::GetThreadAffinityMask](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_getthreadaffinitymask.md)
- [PartyManager::SetThreadAffinityMask](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_setthreadaffinitymask.md)
- [PartyManager::DoWork](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_dowork.md)
- [PartyWorkMode](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/enums/partyworkmode.md)
- [PartyManager::SetWorkMode](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_setworkmode.md)
