から値を返し、loop
中断したところから続行する方法はありますか?
次のスニペットでは、 の現在の値を返しますcurrVm
。しかし、私はそうすることができません。
スニペットの最も内側のループ:
while(c <= currVm) {
allocatedVm(currVm);
c++;
}
という名前の関数allocatedVm
が呼び出されます。の値を返して、currVm
中断したところから再開したい。抜け道はありますか?
@Override
public int getNextAvailableVm() {
Set<String> dataCenters = confMap.keySet();
for (String dataCenter : dataCenters) {
LinkedList<DepConfAttr> list = confMap.get(dataCenter);
Collections.sort(list, new MemoryComparator());
int size = list.size() - 1;
int count = 0;
while(size >= 0) {
DepConfAttr dca = (DepConfAttr)list.get(count);
int currVm = dca.getVmCount();
int c = 0;
while(c <= currVm) {
allocatedVm(currVm); // RETURN currVm
c++;
}
count++;
size--;
}
}
}