今天在开发的时候遇到使用循环等待打印的问题,要求:外循环每5秒打印一次,内循环每1秒钟打印一次。
代码如下:
@Test
void contextLoads() {
Boolean success = false;
int i = 1;
long time1 = new Date().getTime();
do {
System.out.println("===》 外循环 -> 第"+ i + "次");
i++;
if (!success){
int j = 1;
long time2 = new Date().getTime();
while (true){
long time3 = new Date().getTime();
if ((time3-time2) % 1000 == 0){
System.out.println("内循环 -> 第"+ j + "次 ,time3 = "+ time3 + " ,time2 = " + time2);
j++;
}
if ((time3-time2) > 5 * 1000){
break;
}
}
}
if ((new Date().getTime() - time1) > 20 * 1000){
success = true;
}
}while (!success);
}
但是运行后发现,每次内循环都打印了很多次,而且打印的时间都是一样的,如图:
这是什么原因哈? 烦请帮忙指点一下哈,十分感谢!