<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Últimas mensagens do tópico "Dúvida sobre thread"]]></title>
		<link>http://www.guj.com.br/posts/list/6.java</link>
		<description><![CDATA[Últimas mensagens enviadas no tópico "Dúvida sobre thread"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Dúvida sobre thread</title>
				<description><![CDATA[ Olá !<br /> <br /> Estou com uma dúvida sobre thread, por exemplo eu criou um aplicativo que a cada acesso a ele cria uma thread, e fica imprindo dados na tela, quando é finalizado sei lá como por exemplo fechada a janela ele gera uma expception pois não consegue mais imprimir na tela, oque acontece com essa thread ela morre e libera a memória ? ou fica rodando ? se fica rodando como se faz pra matá-la e liberar a memória ?<br /> <br /> Qualquer comentário já ajuda a me tirar essa dúvida valeu !<br /> <br /> []s]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/23111/123114/duvida-sobre-thread
</guid>
				<link>http://www.guj.com.br/prepost/23111/123114/duvida-sobre-thread
</link>
				<pubDate><![CDATA[Mon, 18 Apr 2005 22:40:19]]> GMT</pubDate>
				<author><![CDATA[ marciocamurati]]></author>
			</item>
			<item>
				<title>Re: Dúvida sobre thread</title>
				<description><![CDATA[ Se você termina o programa, todas as threads que ele criou também terminam.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/23111/123148/re-duvida-sobre-thread
</guid>
				<link>http://www.guj.com.br/prepost/23111/123148/re-duvida-sobre-thread
</link>
				<pubDate><![CDATA[Tue, 19 Apr 2005 07:41:15]]> GMT</pubDate>
				<author><![CDATA[ escordeiro]]></author>
			</item>
			<item>
				<title>Re: Dúvida sobre thread</title>
				<description><![CDATA[ Concordo que seu eu fechar o aplicativo ele vai matar tudo mas no caso de ser um servlet (eu coloquei "aplicativo" ali em cima foi mals) ele fica persistente na memoria, e isso pelo jeito faz com que as threads mesmo teoricamente finalizadas fiquem ativas, e isso pode começar a gerar lentidão no acesso e etc correto ?<br /> <br /> []s]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/23111/123170/re-duvida-sobre-thread
</guid>
				<link>http://www.guj.com.br/prepost/23111/123170/re-duvida-sobre-thread
</link>
				<pubDate><![CDATA[Tue, 19 Apr 2005 09:10:11]]> GMT</pubDate>
				<author><![CDATA[ marciocamurati]]></author>
			</item>
			<item>
				<title>Re: Dúvida sobre thread</title>
				<description><![CDATA[ Marcio,<br /> <br /> não entendi muito bem o que você quis dizer em relação a Servlets e Threads.<br /> <br /> Mas já tive uma experiência (negativa) e posso te alertar:<br /> <br /> Se você cria uma thread dentro da Servlet, ela (a thread) é independente da Servlet. Isso quer dizer que se você der um STOP na Servlet, a thread vai continuar rodando.<br /> <br /> Ou pior ainda: se você fizer um restart na Servlet, além da Thread antiga continuar rodando, dependendo de como você programou a criação da Thread, uma nova será criada e aí a cada restart da Servlet você terá Thread + 1! <img src="http://www.guj.com.br/images/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0"><br /> <br /> Cuidado!<br /> <br /> []'s<br /> Marco Campêlo]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/23111/123184/re-duvida-sobre-thread
</guid>
				<link>http://www.guj.com.br/prepost/23111/123184/re-duvida-sobre-thread
</link>
				<pubDate><![CDATA[Tue, 19 Apr 2005 09:29:36]]> GMT</pubDate>
				<author><![CDATA[ mcampelo]]></author>
			</item>
			<item>
				<title>Re: Dúvida sobre thread</title>
				<description><![CDATA[ E como eu posso "obrigar" a matar essa thread para que esse tipo de problema não ocorra ou seja, sobrecarga, lentidão no servidor?<br /> E uma dúvida mesmo ocorrendo uma exception a thread continua rodando e alocada na memória ?<br /> <br /> []s]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/23111/123237/re-duvida-sobre-thread
</guid>
				<link>http://www.guj.com.br/prepost/23111/123237/re-duvida-sobre-thread
</link>
				<pubDate><![CDATA[Tue, 19 Apr 2005 10:43:41]]> GMT</pubDate>
				<author><![CDATA[ marciocamurati]]></author>
			</item>
			<item>
				<title>Re: Dúvida sobre thread</title>
				<description><![CDATA[ [quote=marciocamurati]E como eu posso "obrigar" a matar essa thread para que esse tipo de problema não ocorra ou seja, sobrecarga, lentidão no servidor?<br /> []s[/quote]<br /> <br /> [url]http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/Servlet.html#destroy()[/url]<br /> <br /> Você pode matar a Thread quando o destroy da Servlet for chamado.<br /> <br /> []'s<br /> Marco Campêlo]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/23111/123248/re-duvida-sobre-thread
</guid>
				<link>http://www.guj.com.br/prepost/23111/123248/re-duvida-sobre-thread
</link>
				<pubDate><![CDATA[Tue, 19 Apr 2005 10:52:47]]> GMT</pubDate>
				<author><![CDATA[ mcampelo]]></author>
			</item>
			<item>
				<title>Re: Dúvida sobre thread</title>
				<description><![CDATA[ Mas o destory só será chamado quando o servlet for realmente finalizado (reinico do servidor ou desligamento) e nesse caso eu irei continuar com o mesmo problema pois duarante o funcionamento sa aplicação, as threads ficaram persistentes e afetando o desempenho do servidor, correto ?<br /> <br /> Ou estou viajando ?<br /> <br /> []s]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/23111/123309/re-duvida-sobre-thread
</guid>
				<link>http://www.guj.com.br/prepost/23111/123309/re-duvida-sobre-thread
</link>
				<pubDate><![CDATA[Tue, 19 Apr 2005 11:40:04]]> GMT</pubDate>
				<author><![CDATA[ marciocamurati]]></author>
			</item>
			<item>
				<title>Re: Dúvida sobre thread</title>
				<description><![CDATA[ [quote=marciocamurati]Mas o destory só será chamado quando o servlet for realmente finalizado (reinico do servidor ou desligamento) e nesse caso eu irei continuar com o mesmo problema pois duarante o funcionamento sa aplicação, as threads ficaram persistentes e afetando o desempenho do servidor, correto ?[/quote]<br /> <br /> Entendo que o destroy será chamado quando você der um stop na sua WebApplication.<br /> <br /> BTW, por que você precisa de Threads na Servlet? <img src="http://www.guj.com.br/images/smilies/283a16da79f3aa23fe1025c96295f04f.gif" border="0"><br /> <br /> []'s<br /> Marco Campêlo]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/23111/123327/re-duvida-sobre-thread
</guid>
				<link>http://www.guj.com.br/prepost/23111/123327/re-duvida-sobre-thread
</link>
				<pubDate><![CDATA[Tue, 19 Apr 2005 11:55:30]]> GMT</pubDate>
				<author><![CDATA[ mcampelo]]></author>
			</item>
			<item>
				<title>Re: Dúvida sobre thread</title>
				<description><![CDATA[ É só um estudo que estou fazendo de deixar um "aplicativo" no caso um servlet eterno ou seja que ele fique mandando msg pra tela, enquanto estiver vivo, com a utilização de syncronizes, wait() e notify() e tambem consigo o mesmo digamos processo, mas o problema fica na mesma, que é mesmo finalizando o servlet sobre restos de thread, e não consegui achar nenhum meio de fazer uma "limpeza" geral.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/23111/123341/re-duvida-sobre-thread
</guid>
				<link>http://www.guj.com.br/prepost/23111/123341/re-duvida-sobre-thread
</link>
				<pubDate><![CDATA[Tue, 19 Apr 2005 12:15:22]]> GMT</pubDate>
				<author><![CDATA[ marciocamurati]]></author>
			</item>
			<item>
				<title>Re: Dúvida sobre thread</title>
				<description><![CDATA[ Se alguem tiver alguma dica, por favor coloque aqui! ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/23111/123342/re-duvida-sobre-thread
</guid>
				<link>http://www.guj.com.br/prepost/23111/123342/re-duvida-sobre-thread
</link>
				<pubDate><![CDATA[Tue, 19 Apr 2005 12:16:07]]> GMT</pubDate>
				<author><![CDATA[ marciocamurati]]></author>
			</item>
			<item>
				<title>Re: Dúvida sobre thread</title>
				<description><![CDATA[ [quote=marciocamurati]É só um estudo que estou fazendo de deixar um "aplicativo" no caso um servlet eterno ou seja que ele fique mandando msg pra tela, enquanto estiver vivo, com a utilização de syncronizes, wait() e notify() e tambem consigo o mesmo digamos processo, mas o problema fica na mesma, que é mesmo finalizando o servlet sobre restos de thread, e não consegui achar nenhum meio de fazer uma "limpeza" geral.[/quote]<br /> <br /> Finalizando a Servlet sobra restos da Thread?<br /> <br /> Por que?<br /> <br /> O que eu disse é que você precisa implementar o método destroy () na Servlet e dentro dele fazer o trabalho de matar a Thread.<br /> <br /> Simples assim! <img src="http://www.guj.com.br/images/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0"><br /> <br /> []'s<br /> Marco Campêlo]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/23111/123344/re-duvida-sobre-thread
</guid>
				<link>http://www.guj.com.br/prepost/23111/123344/re-duvida-sobre-thread
</link>
				<pubDate><![CDATA[Tue, 19 Apr 2005 12:19:00]]> GMT</pubDate>
				<author><![CDATA[ mcampelo]]></author>
			</item>
			<item>
				<title>Re: Dúvida sobre thread</title>
				<description><![CDATA[ Usar thread em servelet não é uma boa forma de programação e sim usar um pool , e é bom evitar mulplas treads com aplicativos web.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/23111/123354/re-duvida-sobre-thread
</guid>
				<link>http://www.guj.com.br/prepost/23111/123354/re-duvida-sobre-thread
</link>
				<pubDate><![CDATA[Tue, 19 Apr 2005 12:48:11]]> GMT</pubDate>
				<author><![CDATA[ saulohenry]]></author>
			</item>
			<item>
				<title>Re: Dúvida sobre thread</title>
				<description><![CDATA[ [quote=saulohenry]Usar thread em servelet não é uma boa forma de programação e sim usar um pool , e é bom evitar mulplas treads com aplicativos web.[/quote]<br /> <br /> Concordo contigo que startar uma Thread dentro de uma Servlet pode ser algo (muito) nocivo se você não souber MUITO bem o que está fazendo.<br /> <br /> Mas não entendi como um pool (pool de que?) poderia substituir uma Thread.<br /> <br /> []'s<br /> Marco Campêlo]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/23111/123356/re-duvida-sobre-thread
</guid>
				<link>http://www.guj.com.br/prepost/23111/123356/re-duvida-sobre-thread
</link>
				<pubDate><![CDATA[Tue, 19 Apr 2005 12:52:37]]> GMT</pubDate>
				<author><![CDATA[ mcampelo]]></author>
			</item>
			<item>
				<title>Re: Dúvida sobre thread</title>
				<description><![CDATA[ Vou junto com o Saulo!<br /> <br /> Não é aconselhável utilizar threads dentro de webcontainer, já que é o container quem se responsabiliza pelo gerenciamento das threads, que seriam as próprias servlets que atendem as requisições dos usuários. à partir da hora que vc utiliza uma thread dentro da sua aplicação, é sem dúvida nenhuma algo muito arriscado, a não ser que você conheça com detalhes o ciclo de vida da servlet. Mas ainda sim, evite!<br /> <br /> Procure uma outra alternativa para solucionar seu problema!<br /> <br /> Espero não ter viajado, e espero ter ajudado!<br /> Abraços!<br /> Thiago]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/23111/123359/re-duvida-sobre-thread
</guid>
				<link>http://www.guj.com.br/prepost/23111/123359/re-duvida-sobre-thread
</link>
				<pubDate><![CDATA[Tue, 19 Apr 2005 12:58:07]]> GMT</pubDate>
				<author><![CDATA[ Thiago Senna]]></author>
			</item>
			<item>
				<title>Re: Dúvida sobre thread</title>
				<description><![CDATA[ O container de servlet pode criar um pool para atender as varias chamadas a um servlet o interessante de se fazer realmente em servlet é usar um bloco de sincronismo para acessar ou mudar recursos que não podem ser alterados simultaneamente ou implementar a interface SigleThreadModel na servlet ai o conteiner pode usar um monitor para travar e liberar a thread que ele esta usando para responder uma servlet como um pool.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/23111/123363/re-duvida-sobre-thread
</guid>
				<link>http://www.guj.com.br/prepost/23111/123363/re-duvida-sobre-thread
</link>
				<pubDate><![CDATA[Tue, 19 Apr 2005 13:06:26]]> GMT</pubDate>
				<author><![CDATA[ saulohenry]]></author>
			</item>
			<item>
				<title>Re: Dúvida sobre thread</title>
				<description><![CDATA[ Entendi, galera valeu pela ajuda, vou dar uma analisada no geral do que foi falado por aqui e continuar os estudos, valeu !<br /> <br /> []s]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/23111/123393/re-duvida-sobre-thread
</guid>
				<link>http://www.guj.com.br/prepost/23111/123393/re-duvida-sobre-thread
</link>
				<pubDate><![CDATA[Tue, 19 Apr 2005 14:51:58]]> GMT</pubDate>
				<author><![CDATA[ marciocamurati]]></author>
			</item>
			<item>
				<title>Re: Dúvida sobre thread</title>
				<description><![CDATA[ [quote=Thiago Senna]<br /> Não é aconselhável utilizar threads dentro de webcontainer, já que é o container quem se responsabiliza pelo gerenciamento das threads, que seriam as próprias servlets que atendem as requisições dos usuários. [/quote]<br /> <br /> Se as Threads fossem gerenciadas pela própria Servlet, você não precisaria se preocupar em matar a sua Thread no destroy da Servlet.<br /> <br /> O problema é justamente esse. Se você starta uma Thread na Servlet, a Thread é independente da Servlet e vai continuar rodando mesmo que você dê um stop em sua Web Application.<br /> <br /> Ou você mata a Thread no destroy da Servlet (ou fazendo algum outro controle), ou então, ela só vai morrer quando você matar a JVM (parar o Container).<br /> <br /> []'s<br /> Marco Campêlo]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/23111/123396/re-duvida-sobre-thread
</guid>
				<link>http://www.guj.com.br/prepost/23111/123396/re-duvida-sobre-thread
</link>
				<pubDate><![CDATA[Tue, 19 Apr 2005 14:59:56]]> GMT</pubDate>
				<author><![CDATA[ mcampelo]]></author>
			</item>
			<item>
				<title>Re: Dúvida sobre thread</title>
				<description><![CDATA[ [quote=saulohenry]O container de servlet pode criar um pool para atender as varias chamadas a um servlet o interessante de se fazer realmente em servlet é usar um bloco de sincronismo para acessar ou mudar recursos que não podem ser alterados simultaneamente ou implementar a interface SigleThreadModel na servlet ai o conteiner pode usar um monitor para travar e liberar a thread que ele esta usando para responder uma servlet como um pool.[/quote]<br /> <br /> Saulo,<br /> <br /> isto está correto.<br /> <br /> Mas quando eu disse que já precisei usar Threads dentro de uma Servlet, não era para aumentar a capacidade de processamento da Servlet ou para atender múltiplos requests e sim para executar uma tarefa em background, independente dos requests que a Servlet recebia, mas que deviam acontecer durante o ciclo de vida da Web App. <br /> <br /> Abraços,<br /> Marco Campêlo]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/23111/123398/re-duvida-sobre-thread
</guid>
				<link>http://www.guj.com.br/prepost/23111/123398/re-duvida-sobre-thread
</link>
				<pubDate><![CDATA[Tue, 19 Apr 2005 15:03:00]]> GMT</pubDate>
				<author><![CDATA[ mcampelo]]></author>
			</item>
			<item>
				<title>Re: Dúvida sobre thread</title>
				<description><![CDATA[ A bom, mas batendo na tecla que vc disse ... é um tanto arriscado , principalmente pela disponibilidade que seu aplicativo tem que ter , já que em alguma instancia vc vai ter que talvez ate derrubar seu aplicativo ou maqiuna. Adotar uma destruição no destroy é realmente a melhor pratica , que vc mencionou acima mas será que vai ser efetivo ? e se sua thread não terminar de fazer o trablaho sujo dela hehe, ai fica dificil adotar uma outra forma. Então a melhor forma seria não adotar a thread em um servelt talvez em um ejb que são mais gerenciaveis.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/23111/123455/re-duvida-sobre-thread
</guid>
				<link>http://www.guj.com.br/prepost/23111/123455/re-duvida-sobre-thread
</link>
				<pubDate><![CDATA[Tue, 19 Apr 2005 16:21:06]]> GMT</pubDate>
				<author><![CDATA[ saulohenry]]></author>
			</item>
			<item>
				<title>Re: Dúvida sobre thread</title>
				<description><![CDATA[ Oque vocês sugerem usar em vez de uma thread ? Fazer o controle syncronized de um obejto por exemplo ? Com Wait(), Notify() e Notifyall() ?<br /> <br /> []s]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/23111/123463/re-duvida-sobre-thread
</guid>
				<link>http://www.guj.com.br/prepost/23111/123463/re-duvida-sobre-thread
</link>
				<pubDate><![CDATA[Tue, 19 Apr 2005 16:40:46]]> GMT</pubDate>
				<author><![CDATA[ marciocamurati]]></author>
			</item>
			<item>
				<title>Re: Dúvida sobre thread</title>
				<description><![CDATA[ Com certeza , com um bloco sincronized ou usando a interface singlethreadmodel.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/23111/123472/re-duvida-sobre-thread
</guid>
				<link>http://www.guj.com.br/prepost/23111/123472/re-duvida-sobre-thread
</link>
				<pubDate><![CDATA[Tue, 19 Apr 2005 17:11:25]]> GMT</pubDate>
				<author><![CDATA[ saulohenry]]></author>
			</item>
			<item>
				<title>Re: Dúvida sobre thread</title>
				<description><![CDATA[ [quote=saulohenry]Com certeza , com um bloco sincronized ou usando a interface singlethreadmodel.[/quote]<br /> <br /> Servlet SingleThread não resolve o problema dele, que quer implementar uma "Servlet eterna"! <img src="http://www.guj.com.br/images/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0"><br /> <br /> []'s<br /> Marco Campêlo]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/23111/123473/re-duvida-sobre-thread
</guid>
				<link>http://www.guj.com.br/prepost/23111/123473/re-duvida-sobre-thread
</link>
				<pubDate><![CDATA[Tue, 19 Apr 2005 17:13:37]]> GMT</pubDate>
				<author><![CDATA[ mcampelo]]></author>
			</item>
			<item>
				<title>Re: Dúvida sobre thread</title>
				<description><![CDATA[ Bom restou então utilizar um bloco syncronized então, vou trabalhar com ele, só uma ultima coisa esse bloco não é caracterizado como uma thread ? <br /> <br /> Na documentação da Sun no método wait():<br /> <br /> Causes current thread to wait until another thread invokes the notify() method or the notifyAll() method for this object. In other words, this method behaves exactly as if it simply performs the call wait(0). <br /> The current thread must own this object's monitor. The thread releases ownership of this monitor and waits until another thread notifies threads waiting on this object's monitor to wake up either through a call to the notify method or the notifyAll method. The thread then waits until it can re-obtain ownership of the monitor and resumes execution. <br /> <br /> This method should only be called by a thread that is the owner of this object's monitor. See the notify method for a description of the ways in which a thread can become the owner of a monitor. <br /> <br /> []s]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/23111/123478/re-duvida-sobre-thread
</guid>
				<link>http://www.guj.com.br/prepost/23111/123478/re-duvida-sobre-thread
</link>
				<pubDate><![CDATA[Tue, 19 Apr 2005 17:22:48]]> GMT</pubDate>
				<author><![CDATA[ marciocamurati]]></author>
			</item>
			<item>
				<title>Re: Dúvida sobre thread</title>
				<description><![CDATA[ [quote=marciocamurati]Oque vocês sugerem usar em vez de uma thread ? Fazer o controle syncronized de um obejto por exemplo ? Com Wait(), Notify() e Notifyall() ?<br /> <br /> []s[/quote]<br /> <br /> da p/ fazer um while(true) dentro do metodo doGet do servlet, com isso ele ficaria eternamente printando msg ate vc mandar sair do while.<br /> <br /> []'s<br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/23111/123483/re-duvida-sobre-thread
</guid>
				<link>http://www.guj.com.br/prepost/23111/123483/re-duvida-sobre-thread
</link>
				<pubDate><![CDATA[Tue, 19 Apr 2005 17:34:00]]> GMT</pubDate>
				<author><![CDATA[ jgbt]]></author>
			</item>
	</channel>
</rss>
