private void executarFilaExecucao(Processo proc) { Vector<Processo> fila = null; if (filaDePrioridades.containsKey(proc.getPrioridade())) { fila = filaDePrioridades.get(proc.getPrioridade()); } else { fila = new Vector<Processo>(); filaDePrioridades.put(proc.getPrioridade(), fila); } fila.add(proc); }
public void run() { while (!finaliza) { relogio(); if (!cpu.isProcessando()) { buscaPrioridade(); if (filaDeExecucao != null && filaDeExecucao.size() > 0) { Processo processo = filaDeExecucao.get(0); if (processo.getEstado() == Processo.ESTADO_NOVO || processo.getEstado() == Processo.ESTADO_FIM_E_S || processo.getEstado() == Processo.ESTADO_ESPERANDO) { if (processo != null) { cpu.setProc(processo); } } filaDeExecucao.remove(0); if (processo.getEstado() != Processo.ESTADO_ENCERRADO) { filaDeExecucao.add(processo); } } } enviaFila(); } }
public void envia(Processo processo) { executarFilaExecucao(processo); pids.add(processo.getPid()); }