windows - 指示 win32 线程在单个处理器内核上运行

标签 windows multithreading winapi

我有一个测试程序,如果它可以依赖于在 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/

相关文章:

c++ - 从服务应用程序访问 guest 帐户系统注册表配置单元

windows - 如何在 Windows XP 中转发进程的 TCP/IP 流量?

c# - 在另一个线程中运行 WPF 控件

c++ - EnumDisplayMonitors 什么时候返回?

c - 使用主应用程序窗口使拥有的窗口最小化

java - 在后台发送 ping - 我这样做对吗?

c++ - Qt在不使用线程时从不同的线程设置父级

windows - assembly :将某些东西打印到屏幕(到命令行)的最佳方法是什么

windows - 什么检测图片类型的方法比较靠谱 : content-type or MIME-sniffing?