<分区>
我最近有一个小项目,我必须在 while 循环中做一些事情,并且在 while 循环中有一个停顿,它将被线程停止。
由于我的项目很大,我将无法分享其他人可以测试和体验的东西。因此,我做了一个小例子。
这是我在 while 循环中创建的停顿,然后线程启动并停止它。
一旦我在 while 循环中不打印任何内容,while 循环就是无限的。 一旦我在 while 循环中打印了一些东西,任何东西,while 循环都是有限的。
static boolean stallPipeline = false;
public static void main (String[] args) {
int i = 0;
do {
while (stallPipeline) {
//System.out.println("");
}
stallPipeline = true;
new Thread(() -> {
try {
Thread.sleep(10);
} catch (Exception e) {}
stallPipeline = false;
}).start();
} while (i++ < 2);
}
一旦您取消对 System.out.println();
的注释,循环将不再是无限的。
谁能解释一下?