如何在Intellij内部阻止长时间运行的Java程序

时间:2018-10-30 01:19:27

标签: java performance intellij-idea infinite-loop

我想念一个循环的停止条件,因此程序没有停止将CPU提升到极限。

整个Intellij进程挂起,变得完全没有响应,因为我的机器已经部署了i7,并且我正在Ubuntu上运行,而Ubuntu通常像任何现代OS一样都是多任务的。我想象一种解决方案,例如如果某个程序在某个时间阈值之后或正好在内存状态停滞时继续执行而不改变状态,则可以暂停该程序(可以想到很多想法)。

是否存在一种既定的编程解决方案,可以防止这些情况之一发生(在测试时,我知道无限程序是有用的),但是如果无限地执行基本的CPU操作,事实并非如此。

在不同线程中运行是否有助于CPU收费调度资源?

Intellij中是否有一种方法可以防止这种情况的发生。

        int rect_a = 100;
        int rect_b = 50;

        for (int j=1; j<rect_a; j++) {
            for (int i=0; i<j; i++) {
                //some computation
                j = method() that returns 0 alwayse. (bad logic)
            }
        }

1 个答案:

答案 0 :(得分:0)

当您的代码从j重设为zero时,代码将永远不会结束

考虑

int rect_a = 100;

for (int j=1; j<rect_a; j++) {
    for (int i=0; i<j; i++) {
        j = 0;
    }
}

System.out.println("ended");

ended从不打印。计算机只是按照您的指示进行操作