Fórum Escalanodaro Round Robin em JAVA #519653
12/05/2015
0
Tenho uma pequena dúvida dentro de um While onde na implementação faz todo sentido, porém não entendo porque ele não chega a sair do while.
while(f.isEmpty() != true){
//Aqui ira pegar o primeiro valor de entrada IO da primeira posição da fila
contReg = f.obtemIO(0);
while(contReg != 0){
gravarArq.println("Tempo de execução total " + contTudo++);
gravarArq.println("Tempo da entrada de dados IO " + contReg--);
gravarArq.println(f.tiraQuatum(0));
f.tiraDuracao(0);
if (f.Duracao(0) == 0){
f.dequeue();
contReg = 0;
}else if (f.Quatum(0) == 0){
f.AddQuatum(0);
aux = f.dequeue();
f.enqueue(aux);
contReg = 0;
}else if (contReg == 0){
f.AddQuatum(0);
aux = f.dequeue();
f.enqueue(aux);
contReg = 0;
}
}
}
Lembrando que meus método de dequeue ele já remove o processo e puxa o próximo da fila para primeira posição. Alguém poderia ajudar ?
Grato desde já
while(f.isEmpty() != true){
//Aqui ira pegar o primeiro valor de entrada IO da primeira posição da fila
contReg = f.obtemIO(0);
while(contReg != 0){
gravarArq.println("Tempo de execução total " + contTudo++);
gravarArq.println("Tempo da entrada de dados IO " + contReg--);
gravarArq.println(f.tiraQuatum(0));
f.tiraDuracao(0);
if (f.Duracao(0) == 0){
f.dequeue();
contReg = 0;
}else if (f.Quatum(0) == 0){
f.AddQuatum(0);
aux = f.dequeue();
f.enqueue(aux);
contReg = 0;
}else if (contReg == 0){
f.AddQuatum(0);
aux = f.dequeue();
f.enqueue(aux);
contReg = 0;
}
}
}
Lembrando que meus método de dequeue ele já remove o processo e puxa o próximo da fila para primeira posição. Alguém poderia ajudar ?
Grato desde já
Denis
Curtir tópico
+ 0
Responder
Posts
14/05/2015
Ronaldo Lanhellas
Primeiro: QUal dos while nunca sai ?
Segundo : Coloca seu código dentro das tags
Segundo : Coloca seu código dentro das tags
por gentileza
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)