Contador de tempo (comparar tempo)

Já pesquisei em diversos fóruns e n achei nd pra resolver meu problema. Eu preciso criar um algoritmo de processamento, em que eu tenho o tempo de chegada e de duração de cada processo. Eu tenho uma fila em que vou add os processos a medida q estiverem “prontos” (ele é considerado pronto qnd o algoritmo atinge seu tempo de chegada). Assim q eu tenho um processo na minha fila, eu começo a processá-lo mas eu tenho q verificar se algum outro processo chegou durante esse tempo de processamento do q está sendo executado. O problema é esse temporizador q usei, nao está dando certo… alguém conhece outra maneira de fazer isso? Segue o código:

    start = System.currentTimeMillis();//inicia contador
    int cont = 0;
    for (int i = 0; i < processos.size(); i++) {
        processoAtual = processos.get(i);
        if (i == 0) {
            filaDeProntos.insere(processos.get(i));
            System.out.println("inseriu i: " + filaDeProntos.getProcessos().get(i).getTempoChegada());
        }
        if (!filaDeProntos.getProcessos().isEmpty()) {//se a fila de prontos já tem um processo
            do {

                /*se o temporizador é igual ao tempo de chegada do processo na posição i e diferente do 1 processo*/
                System.out.println("start: " + start + "duracao processo: " + processoAtual.getDuracao());
                for (int j = cont; j < processos.size(); j++) {
                    if (processos.get(j).getTempoChegada() == start) {
                        if (!filaDeProntos.getProcessos().contains(processos.get(j))) {//se a fila de prontos não contém o processo atual
                            filaDeProntos.insere(processos.get(j));//insere na fila de prontos
                            System.out.println("inseriu j: " + filaDeProntos.getProcessos().get(j));
                            cont = j;//cont armazena o ultimo processo q foi verificado pra evitar verificação desnecessária
                        }
                    }
                }
            } while (processoAtual.getDuracao() < start);//
        }
    }

}

}

Pra vc aplicar duas ações ao mesmo tempo vc precisa implementar um suporte a threads no seu código. Dessa forma vc consegue validar se chega algum algoritmo e acionar os processos ao mesmo tempo.