java - 减少 Java 应用程序中的 CPU 使用

标签 java swing desktop-application cpu-usage

<分区>

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

谁能告诉我这是怎么可能的?

最佳答案

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

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

关于java - 减少 Java 应用程序中的 CPU 使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23821813/

相关文章:

java - Q关于Java WindowListener

java - swing应用程序中的嵌入式Applet导致绘画问题

java - 如何将数据加载到Jtable中

c# - 桌面应用程序的谷歌分析

c# - 如何在整个Windows应用程序c#中保持线程事件

启动 hbase 时未找到 JAVA_HOME。有什么建议么?

java - 尝试在 Java 中交换数组中的值

Java 用多线程持久化一个列表

java - tomcat没有正确部署

java - 如何以及在何处存储 Java 桌面应用程序的主密码