Pessoal, preciso que dentro da função run() do meu Timer haja uma pausa de tempo em segundos, que um método que já criei informará ao programa quando precisar. Porém não sei que comando utilizar para fazer essa pausa.
Tentei o Thread.sleep(tempo); mas o programa trava todinho por aquele tempo e não é isso que eu quero.
O programa simula uma fila de impressão de 4 micros, o sistema joga os documentos na fila e automaticamente o timer comanda a remoção dos documentos. Porém, os documentos devem sair com tempo proporcional ao seu tamanho. E o tamanho é gerado aleatoriamente no ato da inserção do documento na fila.
Tudo está pronto, mas não consigo fazer esse tempo proporcional.
O Timer já tem um tempo de delay especificado por mim (5000ms), mas tentei inserir no lugar do delay a chamada do método que retorna o tamanho do arquivo (que pode ser usado como tempo em ms). Entretanto, o Timer pega o tempo de delay do primeiro elemento da fila e usa esse mesmo delay para todos os demais. Quando na verdade deveria ter um delay diferente para cada elemento, de acordo com o tamanho do arquivo na fila, que é uma variável do tipo int.
Alguém poderia me ajudar, por favor?