Antes de chamar os métodos wait(), notify() e notifyAll(), vc precisa ser o
"owner do lock" do objeto. Sei que este conceito deve ser bem confuso, mas
para ficar mais simples de lembrar:
Runnable bar = ...;
Thread foo = new Thread(bar);
synchronized (foo) {
//qqer um dos 3 pode ir aqui
foo.wait();
//foo.notify();
//foo.notifyAll();
}
Resumindo: pra usar wait, notify e notifyAll, primeiro vc deve sincronizar
o/a - bastante confuso pro meu gosto esta questao de genero com palavras
estrangeiras, but ... - thread no/a qual vc vai chama-los.
Sem contar q, desculpe se meu "feeling" falhar, vc parece nao saber o q
estah fazendo... Para causar um delay numa thread, use sleep(long millis).
Pode lancar uma excecao mas nada de mais.
Os tres outros metodos q citei servem para sincronizar um/a thread com
outro/a, nao para causar delays. Qqer coisa, pergunte.
----------------------------------
Michael Nascimento Santos
Analista/Consultor
Sun Certified Programmer for the Java 2 Platform
CPM Sistemas - www.cpm.com.br
>From: "Ary Junior" <[EMAIL PROTECTED]>
>Reply-To: [EMAIL PROTECTED]
>To: <[EMAIL PROTECTED]>
>Subject: [java-list] Interface Runnable
>Date: Wed, 6 Jun 2001 15:01:02 -0300
>
>Por favor, tenho uma classe que extende de Canvas e implemanta a interface
>Runnable. Até aí tudo certo, então eu crio um thread da seguinte forma:
>
>Thread thr = new Thread(this);
>
>Sendo assim eu implemento o método run() em meu Canvas e pronto tá
>funcionando... Até que eu tento pausar o thread da seguinte forma:
>
>thr.wait();
>
>É voltada a seguinte excessão:
>
>java.lang.IllegalMonitorStateException: current thread not owner
>
>Se alguém pude me ajudar ficarei muito agradecido.
>
>
> )))
> (((
>:::::::::::
>| |--\
>| Java | | Ary Junior
>|______|--/
>
_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------