gpt4 book ai didi

java - 定时 while 循环不终止

转载 作者:搜寻专家 更新时间:2023-10-31 19:38:03 28 4
gpt4 key购买 nike

<分区>

运行这段代码,我希望它会增加测试变量 5 秒,然后结束。

import java.util.Timer;
import java.util.TimerTask;

public class Test {
private static boolean running;

public static void main( String[] args ) {
long time = 5 * 1000; // converts time to milliseconds
long test = Long.MIN_VALUE;
running = true;

// Uses an anonymous class to set the running variable to false
Timer timer = new Timer();
timer.schedule( new TimerTask() {
@Override
public void run() { running = false; }
}, time );

while( running ) {
test++;
}

timer.cancel();
System.out.println( test );
}
}

但是,当我运行它时,程序并没有结束(我假设,我已经给了它合理的时间)。但是,如果我将 while 循环更改为

    while( running ) {
System.out.println();
test++;
}

程序在预期的时间内完成(并打印出很多行)。我不明白。为什么会出现这种行为?

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com