Persistência do temporizador giratório após a conclusão do método principal
Estou tentando criar um programa para executar uma tarefa simples e produzir uma saída a cadax
segundos. Também quero que o programa seja executado até que eu decida fechar manualmente o program
Eu tenho tentado implementar isso usando um timer Swing, pois acredito que essa é a melhor maneira. O problema é que não sei como manter o programa funcionando depois que o método principal terminar a execução. Então, por exemplo, eu tenho:
static ActionListener taskPerformer = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
try {
//do stuff
} catch (Exception e) {
e.printStackTrace();
}
}
};
public static void main(String[] args) throws Exception{
Timer timer = new Timer(3000, taskPerformer);
timer.start();
}
que termina a execução imediatamente. Posso evitar o problema colocando o segmento de execução atual em suspensãoThread.currentThread().sleep(..)
, mas isso parece um trabalho ruim e, em última análise, terá duração limitada. Também posso fazer enquanto (verdade), mas acredito que isso é uma prática rui
minha pergunta é como obter o comportamento de persistência desejado e se existe uma maneira melhor do que usar os temporizadores Swin
Obrigado