Conheça algumas maneiras para saber se a thread retornou ou não de seu método run()
Este exemplo demonstra algumas maneiras para determinar se uma thread retornou ou não de seu método run().
// Cria e inicia a threadThread thread = new MyThread(); thread.start();
------------------------- 1º EXEMPLO -------------------------
// Verifica se a thread terminou de uma forma não bloqueante if (thread.isAlive()) { // A thread não terminou seu processamento
} else { // A thread terminou seu processamento }
------------------------- 2º EXEMPLO -------------------------
// Espera que a thread termine, mas não espera mais do que um tempo determinado
long delayMillis = 5000; // 5 segundos try { thread.join(delayMillis); if (thread.isAlive()) { // Tempo excedido; Thread ainda não terminou seu processamento } else { // A thread terminou } } catch (InterruptedException e) { // Thread foi interrompida por alguma excessão lançada
}
------------------------- 3º EXEMPLO -------------------------
// Espera indefinidamente pelo final de processamento da thread try { thread.join(); // Thread terminou seu processamento
} catch (InterruptedException e) { // Thread foi interrompida por alguma excessão lançada
}