我正在尝试为游戏引擎创建一个线程池,我一直在考虑我的系统应该如何对第三方库产生自己的线程做出反应。等待的线程是否会吃掉CPU时间?
从我读过的内容来看,理想的情况是每个你有权访问的CPU只有一个线程。因此,如果我的第三方物理更新产生四个线程,那么在运行时关闭线程池中的四个线程,然后再打开它们是理想的,这样多个线程永远不会争夺一个CPU。
我的问题是关于像条件变量的功能背后的基本机制。由于产卵线程很昂贵,因此有四个线程等待一个条件变量,然后在物理完成时通知他们,这似乎比连接四个线程并在之后重新产生它们更好。但是如果他们在等待一个变量,这些线程是否真的“睡着了”,还是在后台争夺CPU资源?
你在编程什么语言? –