Duvida em Threads

2 respostas
cu_ringa

se tenho 2 Threads, A e B.

Se chamo a Thread A 3 vezes e elas chamam o metodo wait() e o mesmo acontecendo com B. Como fica a fila de espera de Threads. é gerada uma fila p cada thread, tipo todas as threads A, ficam numa fila e todas b ficam em outra fila, ou ficam todas A e B juntas numa mesma fila???

2 Respostas

Thiago_Senna

Tudo na mema fila!

Acho!

kuchma

Isso ta meio vago. Como assim dar um wait()? O que eh uma “fila” de espera?

Nao existe esse conceito de fila… pense num pool de threads candidatas a obterem o controle do processador (ou seja, estao no estado “pronto pra rodar”, digamos assim). Quando uma thread vai pro pool de threads em estado “pronto”, ela fica aguardando ate que o processador de a ela sua chance de rodar. Nao ha ordem especifica pra isso.

Se voce der um wait() num objeto, a thread bloqueia ate que alguem chame um notify() ou notifyAll() nesse cara - quando entao ela vai pro estado “pronto”, tornando-se candidata a ganhar o processador.

Se ficou confuso, detalhe melhor o cenario.

Marcio Kuchma

Criado 19 de maio de 2005
Ultima resposta 19 de mai. de 2005
Respostas 2
Participantes 3