我有一个测试程序,如果它可以依赖于在 Windows 上以严格的优先级顺序安排的线程,它会简单得多。我看到一个低优先级线程与高优先级线程一起运行,我想知道这是不是因为不同的线程被安排在不同的处理器内核上。
有没有办法强制进程中的所有 Win32 线程使用单个处理器内核? SetThreadAffinityMask看起来它可能很有趣,但它的文档并不完全清楚,我不确定如何使用它。
最佳答案
SetThreadAffinityMask 函数:为指定线程设置处理器关联掩码。
http://msdn.microsoft.com/en-us/library/windows/desktop/ms686247%28v=vs.85%29.aspx
SetThreadAffinityMask(GetCurrentThread(), (1 << CoreNumber));
将当前线程的亲和性设置为“CoreNumber”变量
关于windows - 指示 win32 线程在单个处理器内核上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13086831/