sim*_*onc 4 windows winapi multithreading
我有一个测试程序,如果它可以依赖于在Windows上按严格优先级顺序安排的线程,那将会简单得多.我看到一个低优先级线程与更高优先级的线程一起运行,并想知道是否发生了这种情况,因为不同的线程正在不同的处理器内核上进行调度.
有没有办法强制进程中的所有Win32线程使用单个处理器核心? SetThreadAffinityMask看起来可能很有趣,但它的文档并不完全清楚,我不知道如何使用它.
SetThreadAffinityMask函数:为指定的线程设置处理器关联掩码.
http://msdn.microsoft.com/en-us/library/windows/desktop/ms686247%28v=vs.85%29.aspx
SetThreadAffinityMask(GetCurrentThread(), (1 << CoreNumber));
Run Code Online (Sandbox Code Playgroud)
将当前线程的亲缘关系设置为"CoreNumber"变量