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

# PartyManager::SetThreadAffinityMask

> 選擇性地設定內部 Party 程式庫執行緒執行所在的處理器。

選擇性地設定內部 Party 程式庫執行緒執行所在的處理器。

## 語法

```cpp theme={null}
PartyError SetThreadAffinityMask(  
    PartyThreadId threadId,  
    uint64_t threadAffinityMask  
)  
```

### 參數

**`threadId`**   [PartyThreadId](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/enums/partythreadid.md)

要設定處理器親和性的內部 Party 程式庫執行緒類型。

**`threadAffinityMask`**   uint64\_t

此類型 Party 程式庫執行緒的親和性遮罩。

### 傳回值

PartyError

`c_partyErrorSuccess` (如果呼叫成功)，否則為錯誤碼。可透過 [GetErrorMessage()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_geterrormessage.md) 擷取錯誤碼的人類可讀形式。

## 備註

此方法可讓遊戲為指定類型的內部 Party 程式庫執行緒設定處理器親和性。在 Windows 上，`Audio` 類型會同時影響 PlayFab Party 程式庫擁有的執行緒和 XAudio2 擁有的執行緒。如需詳細資訊，請參閱 [PartyThreadId](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/enums/partythreadid.md)。 \
\
&#x20;對於所有平台 (***PlayStation® 除外***)，此方法可以在 [Initialize()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_initialize.md) 之前或之後的任何時間呼叫，並會立即生效。**在 PlayStation® 上，呼叫 Initialize() 之後嘗試為 [PartyThreadId](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/enums/partythreadid.md) Audio 執行緒設定處理器親和性，可能會導致音訊轉譯失敗**。目前建議在呼叫 Initialize() 之前呼叫此方法。   \
\
&#x20;執行緒處理器設定會在呼叫 [Cleanup()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_cleanup.md) 和 Initialize() 之後保留。當存在超過 64 個核心時，此方法一律套用至處理器群組 0。   \
\
&#x20;若要指定任何處理器，請將 `c_anyProcessor` 作為 `threadAffinityMask` 參數傳遞。如果從未呼叫此方法，`c_anyProcessor` 也是 Party 程式庫使用的預設值。

## 需求

**標頭：** Party.h

## 另請參閱

[PartyManager](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/partymanager.md)\
[PartyThreadId](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/enums/partythreadid.md)\
[PartyManager::GetThreadAffinityMask](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_getthreadaffinitymask.md)


## Related topics

- [PartyManager::GetThreadAffinityMask](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_getthreadaffinitymask.md)
- [PartyThreadId](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/enums/partythreadid.md)
- [PartyManager::Initialize](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_initialize.md)
- [PartyXblManager::SetThreadAffinityMask](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/xblreference/classes/PartyXblManager/methods/partyxblmanager_setthreadaffinitymask.md)
- [set_thread_affinity_mask](https://docs.xbox.com/zh-TW/reference/chat/gamechat2/classes/chat_manager/methods/chat_manager_set_thread_affinity_mask.md)
