我有一个应用程序,它使用了许多线程,其中一个线程比其他线程对时间更严格。我已经尝试过使用优先级,但发现Windows并不总是按照我想要的程度来分配优先级,有时还会允许出租优先级线程长时间(50+毫秒)地阻塞我的关键线程。为了解决这个问题,我正在考虑为每个线程设置一个处理器亲和性,以限制非关键线程,这样它们就不能使用一些核心(比如核心#1和#2),而关键线程将始终拥有这些核心(#1和#2)。
我的问题是,如果我通过SetThreadAffinityMask()为我的入口点线程设置了一个处理器亲和性掩码,那么这个初始线程创建的后续线程是否会继承该亲和性掩码?或者,我是否需要在每次在整个系统中产生线程时手动设置亲和性?
发布于 2019-09-30 20:55:11
在Windows10上使用std::thread和VS2015创建线程时,我可以确认线程亲和性没有被继承。
https://stackoverflow.com/questions/58139768
复制相似问题