我有一个包含4个主题的应用程序,其中2个是基于事件的,2个不是基于事件的。
问题是我必须隔离2个非基于事件的线程,其中while(1)循环正在执行,这需要占用大量的CPU,并且这个用量甚至达到100%,
我认为隔离这些线程可以减少cpu的使用,
这是一个好主意,如果有任何其他方法,请参阅我。
我也想知道如何隔离线程。
提前完成。
答案 0 :(得分:2)
作为一般规则,您很少想简单地降低CPU使用率。虽然你当然可以可以这样做(例如,通过半定期睡眠一段时间),但实际上并没有太多成就。当然,假设线程正在对CPU时间做一些有用的事情,减少CPU使用量只会在更长的时间内延长计算时间。
要获得真正的好处,请降低CPU密集型线程的优先级。这允许线程尽可能快地完成计算,只要它们是唯一准备好运行的线程。同时,这也意味着只要有任何更高优先级的线程准备好运行,优先级较低的线程就会消耗绝对 no CPU时间 1
答案 1 :(得分:1)
如果在每次循环后让线程在很短的时间内休眠,那么应该减少CPU负载。