Java减少CPU使用率

史蒂夫:

问候-

我们有一些喜欢使用的工作

while(true) { //Code } 

在他们的代码中。可以想象,这使CPU发挥了最大作用。有谁知道降低CPU利用率的方法,以便其他人也可以使用服务器。

代码本身只是不断地在互联网上轮询网站上的更新。因此,我想一种睡眠方法会大大减少CPU使用率。

同样,所有操作都是在String对象(Java)中完成的,有人知道StringBuilders将减少多少开销吗?

谢谢你的指导

Yaneeve:

我将从您的第二个问题开始,我要同意其余的观点,即StringBuilder vs String在很大程度上取决于特定的字符串操作。我曾经做过一次“基准测试”,通常来说,随着新字符串分配量的增加(通常以串联的形式),整个执行时间会增加。我不愿赘述,只是说与String,StringBuffer,String.format(),MessageFormat相比,StringBuilder的加班效率最高。

我的经验法则是,每当我希望将三个以上的字符串连接在一起时,我总是使用StringBuilder。

至于你的第一个问题。我们要求将CPU使用率提高到5%。绝非易事。我们使用Spring的AOP机制在执行CPU密集型方法的任何方法之前向其添加Thread.sleep()。仅当超出某些限制时,才会调用Thread.sleep()。很遗憾地说,这个限制的计算不是那么简单。更遗憾的是,我还没有获得将其发布到网上的许可。因此,这只是为了使您走上一条有趣而又复杂的轨道,事实证明该轨道会随着时间的推移而有效。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章