Verificar se tem Thread rodando

3 respostas
S

Existe alguma forma de verificar se todas as threads criadas terminaram sua execução?

3 Respostas

T

O método “join” da classe Thread serve para esperar uma thread terminar.
O método “isAlive” checa se a thread ainda está viva.

S

Logo, teria que dar um join nas minhas threads para depois poder usar isAlive? Já conhecia os métodos mas queria ter certeza quanto ao uso.

T

Não; você pode chamar “isAlive” a qualquer momento.
Se você chamar “join” você espera até ela morrer (e aí “isAlive” vai retornar false mesmo) ou então se transcorrer um timeout (nesse caso faz sentido você chamar “isAlive”.)
A vantagem de você usar “join” é que isso não gasta CPU; ficar testando contra “isAlive” continuamente não é legal - no mínimo, você tem de dar alguns “Thread.sleep” para deixar as outras threads trabalharem.

Criado 6 de março de 2009
Ultima resposta 6 de mar. de 2009
Respostas 3
Participantes 2