我想在while循环中执行5分钟的代码。
long init= System.currentTimeMillis();
while(((System.currentTimeMillis()-time)/1000%60)<5){
//some part of code
}
但我无法解决任何建议如何修复它。
答案 0 :(得分:0)
System.currentTimeMillis()
取决于实施和操作系统。
而是使用System.nanoTime()
返回最精确的可用系统计时器的当前值,以纳秒为单位。
这可能会给你带来时间问题。
long init= System.nanoTime();
while(((System.nanoTime()-init)/1000000000/60)<5){
//some part of code
}
答案 1 :(得分:0)
只是:更改以下代码,然后重试:
while(((System.currentTimeMillis()-time)/1000%60)<5){
要
while(((System.currentTimeMillis()-init)/1000/60)<5){
将time
更改为init
,将%
更改为/