我有一个无限for循环,我想在20秒钟后运行此for循环,然后终止循环,所以我该怎么办?
这是我在android中的代码:
do {
rl += Character.toString((char) in.read());
// Log.i("RL", "" + rl);
if (rl.contains("<") && checkStream(rl)) {
// Log.i("RL INSIDE", "" + rl);
getNumerAndStatusFromRLString(rl);
rl = "";
}
if (20 SECONDS COMPLETED) {
Log.i("<rl>", "exit");
break;
}
} while (true);
因此,我该怎么做才能检查20秒是否已完成,现在该终止时间了。
任何想法将不胜感激。
最佳答案
我认为选项之一可能是在循环之前有时间,而在循环检查中是否经过了20秒。
如下所示:不确定效率。
long startTime= System.currentTimeMillis();
do {
......
long currTime= System.currentTimeMillis();
long elapsedtime = currTime - startTime;
if(elapsedtime > 20000)
{
break;
}
}