sete a vari�vel ative para false e chame o interrupt na STREAM, no seu
reader().
adicione um try/catch tratando essa interrup��o e deve funcionar na sua
l�gica.
PS : esse modelo de program�tico que tu est� usando n�o parece correto,
as threads n�o devem ser canceladas, o custo para cri�-las e inici�-las
� muito alto, deve-se utilizar as fun��es wait() e notify() para PARAR e
INICIAR as threads.
On 11/13/2012 05:45 PM, Thiago Turim wrote:
> Fiz o teste, quando chamo o m�todo
> thread.interrupt(), thread.isInterrupted() passa a ser true, mas m bloco
> de c�digo n�o teste o while novamente.
>
>
> System.out.println("Iniciando");
> while (!Thread.currentThread().isInterrupted()) {
> System.out.println("Aguardando mensagem");
> String message = reader.readLine();
> System.out.println("Recebeu mensagem = " + json);
> }
>
> public void parar() {
> ative = false;
> thread.interrupt();
> System.out.println(thread.isInterrupted());
> }
> ------------------------------------------------------------------------
> Date: Tue, 13 Nov 2012 17:11:43 -0200
> Subject: Re: [Redfoot JUG] Como encerrar uma Thread com m�todo "blocante"
> From:
gabri...@gmail.com
> To:
redfo...@googlegroups.com
>
> Certo, mais um motivo para utilizar o interrupt. Ele lan�a uma
> InterruptException e finaliza a atividade atual, mesmo sendo um m�todo
> <mailto:
turim_...@hotmail.com>> escreveu:
>
> N�o testei, mas o problema � que qdo entra no readline, ele "para" e
> n�o testa a condi��o do while, at� que o m�todo realine libere o
> processamento.
>
> ------------------------------------------------------------------------
> Date: Tue, 13 Nov 2012 16:56:21 -0200
>
> Subject: Re: [Redfoot JUG] Como encerrar uma Thread com m�todo
> "blocante"
> From:
gabri...@gmail.com <mailto:
gabri...@gmail.com>
> To:
redfo...@googlegroups.com <mailto:
redfo...@googlegroups.com>
>
>
> J� tentou interromper a Thread?
> <
turim_...@hotmail.com <mailto:
turim_...@hotmail.com>> escreveu:
>
> Ok,
>
>
> � um BufferedReader de um cliente que "l�" os dados de um Serlvet.
>
> response.getWriter().println("mensagem);
> reponse.getWiter().flush();
>
> Cliente
> while(ativo){
> reader.readline();
> }
>
> S� que eu quero finalizar a Thread, antes dos dados chegarem.
>
> > Date: Tue, 13 Nov 2012 16:22:39 -0200
> > From:
ed...@yanaga.com.br <mailto:
ed...@yanaga.com.br>
> > To:
redfo...@googlegroups.com
> <mailto:
redfo...@googlegroups.com>
> > Subject: Re: [Redfoot JUG] Como encerrar uma Thread com
> m�todo "blocante"
>
> >
> > Salve Thiago,
> >
> > Que tal tentar explicar melhor o que a sua Thread faz?
> Suponho que o seu reader seja um BufferedReader, estou certo?
> >
> > A princ�pio voc� poderia utilizar uma estrutura de
> wait()/notify(), mas � mais f�cil decidir se voc� explicar o que
> voc� pretende fazer.
> >
> > Grande abra�o.
> >
> > -------------------------------------------------------------
> > MSc. Edson Yanaga
> > Desenvolvedor de Software/Consultor
> > -------------------------------------------------------------
> >
http://www.yanaga.com.br
> >
http://about.me/edsonyanaga
> > @edsonyanaga
> > -------------------------------------------------------------
> > Artes�o de Software: evoluindo de Aprendiz a Mestre
> > -------------------------------------------------------------
> > Oracle Certified Professional, Java Platform, Enterprise
> Edition 6
> > Enterprise JavaBeans Developer
> > Certified ScrumMaster
> > Sun Certified Enterprise Architect for the Java Platform,
> > Enterprise Edition 5 (i)
> > Sun Certified Developer for Java Web Services 5
> > Sun Certified Specialist for NetBeans IDE
> > Sun Certified Web Component Developer for J2EE 1.4
> > Sun Certified Programmer for Java 2 Platform 1.4
> > -------------------------------------------------------------
> > Sent with Sparrow (
http://www.sparrowmailapp.com/?sig)
> >
> >
> > On Tuesday, November 13, 2012 at 3:14 PM,
> > > Tenho um peda�o de c�digo assim, dentro de uma Thread:
> > >
> > > while(ativo){
> > > String mensagem = reader.readLine();
> > > }
> > >
> > > public void parar(){
> > > ativo = false;
> > > }
> > >
> > > Como fa�o para finalizar essa Thread ? O m�todo readLine �
> blocante, e se chamar reader.close, trava a aplica��o.
> > >
> > > Obrigado
> > >
> > > --
> > > Voc� est� recebendo esta mensagem porque se inscreveu no
> <mailto:
redfo...@googlegroups.com>
> (mailto:
redfo...@googlegroups.com
> <mailto:
redfo...@googlegroups.com>).
> > > Para cancelar a inscri��o nesse grupo, envie um e-mail para
>
redfoot-jug...@googlegroups.com
> <mailto:
redfoot-jug%2Bunsu...@googlegroups.com>
> (mailto:
redfoot-jug...@googlegroups.com
> <mailto:
redfoot-jug%2Bunsu...@googlegroups.com>).
> > > Para ver esta discuss�o na web, acesse
>
https://groups.google.com/d/msg/redfoot-jug/-/oWzPtv2TG60J.
> > > Para obter mais op��es, acesse
>
https://groups.google.com/groups/opt_out.
> > >
> > >
> >
> >
> >
> > --
> > Voc� est� recebendo esta mensagem porque se inscreveu no
> grupo "Redfoot JUG" dos Grupos do Google.
> > Para postar neste grupo, envie um e-mail para
>
redfo...@googlegroups.com <mailto:
redfo...@googlegroups.com>.
> > Para cancelar a inscri��o nesse grupo, envie um e-mail para
>
redfoot-jug...@googlegroups.com
> <mailto:
redfoot-jug%2Bunsu...@googlegroups.com>.
> > Para obter mais op��es, acesse
>
https://groups.google.com/groups/opt_out.
> >
> >
>
> --
> Voc� est� recebendo esta mensagem porque se inscreveu no grupo
> "Redfoot JUG" dos Grupos do Google.
> Para postar neste grupo, envie um e-mail para
>
redfo...@googlegroups.com <mailto:
redfo...@googlegroups.com>.
> Para cancelar a inscri��o nesse grupo, envie um e-mail para
>
redfoot-jug...@googlegroups.com
> <mailto:
redfoot-jug%2Bunsu...@googlegroups.com>.
> Para obter mais op��es, acesse
>
https://groups.google.com/groups/opt_out.
>
>
>
>
> --
> Voc� est� recebendo esta mensagem porque se inscreveu no grupo
> "Redfoot JUG" dos Grupos do Google.
> Para postar neste grupo, envie um e-mail para
>
redfo...@googlegroups.com <mailto:
redfo...@googlegroups.com>.
> Para cancelar a inscri��o nesse grupo, envie um e-mail para
>
redfoot-jug...@googlegroups.com
> <mailto:
redfoot-jug%2Bunsu...@googlegroups.com>.
> Para obter mais op��es, acesse
https://groups.google.com/groups/opt_out.
>
>
>
> --
> Voc� est� recebendo esta mensagem porque se inscreveu no grupo
> "Redfoot JUG" dos Grupos do Google.
> Para postar neste grupo, envie um e-mail para
>
redfo...@googlegroups.com <mailto:
redfo...@googlegroups.com>.
> Para cancelar a inscri��o nesse grupo, envie um e-mail para
>
redfoot-jug...@googlegroups.com
> <mailto:
redfoot-jug%2Bunsu...@googlegroups.com>.
> Para obter mais op��es, acesse
https://groups.google.com/groups/opt_out.
>
>
>
>
> --
> Voc� est� recebendo esta mensagem porque se inscreveu no grupo "Redfoot
> Para cancelar a inscri��o nesse grupo, envie um e-mail para
> Para obter mais op��es, acesse
https://groups.google.com/groups/opt_out.
>
>
> --
> Voc� est� recebendo esta mensagem porque se inscreveu no grupo "Redfoot
> Para cancelar a inscri��o nesse grupo, envie um e-mail para
> Para obter mais op��es, acesse
https://groups.google.com/groups/opt_out.
>
>
--
Bruno P M�lo
IT Specialist - IBM J2EE Developer
Sun Certified Java Programmer (SCJP) 5 Certified
@bpmelo
------------------------
R$xU$:2,0692 IBOV:+0.74%
running for:2d 1:56h with 74% free disk space
now is 13/11/2012 18:20:41
Ubuntu 12.04 LTS [precise] Mga(PR)+30�C