Olá, eu gostaria de saber neste tópico se é possível deixar uma thread sempre em execução enquanto o computador está ligado? Exemplo a jframe do meu programa é fechada mais uma thread fica em execução trabalhando em algumas coisas, isso é possível?
Sim, é possível sim, você só tem que setar o jFrame o método setDefaultCloseOperation
para qualquer coisa diferente de EXIT_ON_CLOSE
e se preocupar em deixar a Thead
ocupada para ela não terminar, como lendo uma porta, verificando uma pasta, um loop infinito…
Veja um exemplo.
public static void main(String[] args) {
long horaInicio = System.currentTimeMillis();
new Thread(new Runnable() {
class MyFrame extends JFrame {
public MyFrame() {
super.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
super.setSize(800, 600);
}
}
public void run() {
new MyFrame().setVisible(true);
}
}).start();
new Thread(new Runnable() {
public void run() {
while (true) {
long percorrido = (System.currentTimeMillis() - horaInicio) / 1000;
System.out.println("Estou executando a " + percorrido + " segundos");
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
}
}
}
}).start();
}
E caso isso ou alguma outra postagem resolva o seu problema, por favor, não esqueça de marcar o tópico como resolvido para o fórum não ficar poluído.
Valeu.
1 curtida
Ok, muito obrigado