Me ajudem com essa duvida sobre Threads pls!

5 respostas
V

Minha duvida é o seguinte: Eu posso colocar o metodo wait() dentro do metodo run() ?

To fazendo isso e ta dando o seguinte erro:

java.lang.IllegalMonitorStateException: current thread not owner

at java.lang.Object.wait(Native Method)

at java.lang.Object.wait(Unknown Source)

at Aluno.run(Aluno.java:24)

at java.lang.Thread.run(Unknown Source)

O q pode ser ???

5 Respostas

F

Pode sim, desde que seja um Thread Sincronizado,

Tente sincronizar com ele mesmo:

synchronized(this) {

wait();

}
V

sincronizo tb a thread que esta notificando ??? essa thread usa o metodo notifyAll();

V

Sincronizei a q notifica porem ele esta notificando uma vez as threads e nao notifica mais !!! No metodo run() tem um loop infinito e dentro do loop tem um if, se for verdade entaum notifica !!!

Pq esta notificando uma unica vez ?

F

Posta o código aqui para analisarmos.

[]s

V

Alguem ai sabe me dizer q eu posso mandar executar uma thread wait() mais de uma vez ???

Exemplo: Eu chamo a thread e ela esta em modo wait();

Ai uma outra thread notifica ela...

          Ai ele faz o q tem q fazer e fica em wait() novamente.

Se eu mandar outro notificaçao ela funciona ??

Criado 30 de maio de 2006
Ultima resposta 30 de mai. de 2006
Respostas 5
Participantes 2