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?
Dúvida sobre threads
2 Respostas
Solucao aceita
1 like
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.
Ok, muito obrigado 
Criado 16 de março de 2016
Ultima resposta 17 de mar. de 2016
Respostas 2
Participantes 2
Alura POO: o que é programação orientada a objetos? Aprenda os conceitos básicos da programação orientada a objetos, como classes, objetos, herança, encapsulamento e polimorfismo, com exemplos.
Casa do Codigo Inteligencia Artificial e ChatGPT: Da revolucao dos... Por Fabricio Carraro — Casa do Codigo