我有一个 Routine 对象的 ArrayList,我必须使用此方法来更新任务的各种状态
while(!allRoutineComplete){
for (Routine routine : routineList) {
if(!(routine.isBlocked()) && !(routine.isFinished())) {
routine.run();
}
}
for (Routine routine : routineList) {
routine.updateStatus();
if(routine.isFinished()){
completedRoutineNumber++;
}
if(completedRoutineNumber==routineList.size()){
allRoutineComplete=true;
}
}
}
不幸的是,我的实现中的布尔值allRoutineComplete
在所有例程完成之前设置为真。
我的代码有什么问题?
如何有效检查所有任务的完成情况?