1
有些主機可以在locations.get(i)中執行任務。 爲了在它們之間調度任務,首先我尋找空閒主機,如果有空閒主機,我發送task
到最快的主機。 但是如果沒有空閒的主機,這個算法開始掛起。我該如何解決它?SimGrid。沒有空閒主機時發現無限循環
for (int i = 0; i < taskCount; i++){
while (true) {
ArrayList<Host> hostList = getFreeHost(locations.get(i));
if (!hostList.isEmpty()){
Host destination = getFastestHost(hostList);
InstructionTask instructionTask = new InstructionTask(taskName.get(i), compSize.get(i), commSize.get(i), destination.getName());
instructionTask.send(destination.getName());
break;
}
}
}
你是我的英雄! –