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