Me ajudem com essa duvida sobre Threads pls!

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 ???

Pode sim, desde que seja um Thread Sincronizado,

Tente sincronizar com ele mesmo:

synchronized(this) {
wait();
}

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

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 ?

Posta o código aqui para analisarmos.

[]s

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 ??