C++11 <thread> 和 native_handle()

问题描述 投票:0回答:1

这是创建线程并使用 std::thread 设置亲和力的正确方法吗

 std::thread myThread(threadFunction);

HANDLE threadHandle = myThread.native_handle();

SetThreadAffinityMask(threadHandle, 1);

// Join the thread
myThread.join();
c++ windows multithreading c++11
1个回答
0
投票

是的,这是正确的。

如果您想在某个时候将其设置回原始状态,

SetThreadAffinityMask
还会返回旧掩码:

HANDLE threadHandle = myThread.native_handle();

DWORD_PTR new_mask = 1;
DWORD_PTR old_mask = SetThreadAffinityMask(threadHandle, new_mask);
© www.soinside.com 2019 - 2024. All rights reserved.