【问题标题】:Reduced CPU uses in Java application [closed]减少 Java 应用程序中的 CPU 使用 [关闭]
【发布时间】:2014-05-23 05:47:56
【问题描述】:

我在 java 中有一个应用程序,当我在 IDE 中运行它时,甚至在桌面上运行它时也会消耗很多 cpu,因为我的电脑挂起,我什至无法工作。那么有什么方法可以减少应用程序使用 CUP 的次数从 20 到 30 而不是 101 或 100 查看屏幕截图。![在此处输入图像描述][1]

谁能告诉我这怎么可能?

【问题讨论】:

标签: java swing desktop-application cpu-usage


【解决方案1】:

您可以做的是确定程序中的瓶颈在哪里,然后通过休眠正在工作的线程来控制应用程序空闲的时间。假设您已经确定了瓶颈并且它是一个循环。然后,您可以测量在循环中计算一次迭代所需的时间。获得此数字后,您只需根据您希望应用程序空闲的百分比计算您希望处理器休眠多长时间。

例如,假设您希望应用程序仅使用 20% 的处理器,并且在循环中完成一次迭代需要 20 毫秒。然后,您希望在下一次迭代之前在循环结束时休眠 80 毫秒,以使处理器在 80% 的时间处于空闲状态。如果你没有“游戏循环”或类似的东西,这可能会有点难以实现,但至少你可以尝试估计要睡多长时间才能使其无法 100% 工作

【讨论】:

  • 好吧,建议没有错,但是。我必须再次抛出所有代码吗?为此?
  • 不,您不必丢弃任何代码。你查看你的代码,确定你的瓶颈,测量它的时间,然后根据我提到的计算睡觉。保留所有代码,只需在处理器休眠一段时间的末尾添加一个部分
  • 我将大部分代码放在它自己的线程中。有些代码一直在后台运行
  • 是的,在那个线程中,你只是告诉它睡觉。使用这个:goo.gl/xZWvp0
  • 但仍然会等待执行 na.
猜你喜欢
  • 1970-01-01
  • 2021-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-02
  • 1970-01-01
  • 2013-06-01
  • 1970-01-01
相关资源
最近更新 更多