<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Últimas mensagens do tópico "Grande números de threads"]]></title>
		<link>http://www.guj.com.br/posts/list/5.java</link>
		<description><![CDATA[Últimas mensagens enviadas no tópico "Grande números de threads"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Grande números de threads</title>
				<description><![CDATA[ Estudando sobre ThreadPool, Future a Callables vemos sempre o termo "quando você tem um grande número de threads..."<br /> <br /> Enfim, o que é um "grande número de threads"? 5, 50, 500, 5000?<br /> <br /> Existe alguma maneira de calcular isso, ou só a base do profiling mesmo? <br /> <br /> O java tem alguma limitação nesse sentido, ou é limitado apenas pelo SO?]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/62273/326906.java</guid>
				<link>http://www.guj.com.br/posts/preList/62273/326906.java</link>
				<pubDate><![CDATA[Thu, 14 Jun 2007 14:35:21]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:Grande números de threads</title>
				<description><![CDATA[ Isso normalmente depende do SO, já que o Java não tem muito overhead para tratamento de threads; as implementações normalmente mapeiam uma thread do SO para uma thread do Java (exceto aquelas implementações antigas do Java ou as que rodam em sistemas operacionais que não têm threads - nesse caso são as "green threads").<br /> <br /> Uma das coisas que você pode fazer para controlar o espaço de memória usado por cada thread é a opção -Xss; essa opção (que tem a mesma sintaxe da -Xms e -Xmx que se usam para controlar a quantidade de memória do heap do Java) controla quanto "stack" nativo cada thread vai ter disponível. <br /> <br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/62273/326913.java</guid>
				<link>http://www.guj.com.br/posts/preList/62273/326913.java</link>
				<pubDate><![CDATA[Thu, 14 Jun 2007 14:42:40]]> GMT</pubDate>
				<author><![CDATA[ thingol]]></author>
			</item>
			<item>
				<title>Grande números de threads</title>
				<description><![CDATA[ A limitação, até onde eu sei, é só do SO mesmo, agora, quanto mais Threads você tiver, pior pra ele e pro escalonador dele né.<br /> <br /> Sobre a quantidade, depende MUITO de onde você estiver rodando, da quantidade de processadores, da versão do SO e até mesmo da JVM que você estiver utilizando. Programação concorrente é uma coisa que agente tem sempre que ter MUITO cuidado.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/62273/326915.java</guid>
				<link>http://www.guj.com.br/posts/preList/62273/326915.java</link>
				<pubDate><![CDATA[Thu, 14 Jun 2007 14:43:46]]> GMT</pubDate>
				<author><![CDATA[ Mauricio Linhares]]></author>
			</item>
			<item>
				<title>Re:Grande números de threads</title>
				<description><![CDATA[ Olá<br /> <br /> Acho que é limitado pela memória.<br /> <br /> O uso de ThreadPool precisa de algum cuidado e uma boa googlada pode ajudar no raciocínio.<br /> <br /> Uma boa fonte é acompanhar os posts do Claudio Miranda que volta e meia aborda temas semelhantes. Um deles é este: [url=http://www.claudius.com.br/blog/claudio/2007/06/05/Quantidade-de-threads-por-processo]Quantidade de threads por processo[/url]<br /> <br /> É bom usar porque é o melhor meio de saber as vantagens.<br /> <br /> No java 7 virão algumas coisas novas e todo um framework baseado em conceitos diferentes de todo o modo como a gente trabalha com Threads em Java. Será útil em algumas circunstâncias mas não em todas.<br /> <br /> []s<br /> Luca]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/62273/326916.java</guid>
				<link>http://www.guj.com.br/posts/preList/62273/326916.java</link>
				<pubDate><![CDATA[Thu, 14 Jun 2007 14:43:50]]> GMT</pubDate>
				<author><![CDATA[ Luca]]></author>
			</item>
			<item>
				<title>Re:Grande números de threads</title>
				<description><![CDATA[ Na verdade, o meu problema não é tanto no thread pool ou na programação concorrente. Essa é uma área que tenho bastante experiência. E, na verdade, eu já imaginava que a limitação seria por conta do SO.<br /> <br /> Mas, falar em "número grande" é um termo empírico. Se não há maneiras de se estimar o que é grande a antemão, fica realmente difícil projetar com antecedência. <br /> <br /> E também é meio óbvio que isso variará de máquina para máquina. Mas as vezes a gente precisa de um balisador, uma regra geral, mesmo que isso não atenda a todos os casos. Ou então, precisamos de um meio mais ou menos confiável de pelo menos estimar isso. Afinal, infelizmente, nosso chefe quer saber de antemão se o sistema é possível, antes de investir nele.<br /> <br /> Por exemplo, devo me preocupar se eu tiver mais de 100 threads? Ou mais de 1000? O parque de máquinas aqui da Siemens é enorme. Mas pelo menos já saímos da era do Pentium 2. Acho que posso dizer com relativa segurança que todos temos pelo menos 128mb de ram. <br /> <br /> É uma aplicação para cliente final, não uma aplicação que rodará num servidor. <br /> <br /> E a concorrência entre as threads nesse caso também não é um grande problema. As threads não interagem entre si. O objetivo delas é executar carga em centrais telefônicas. Cada uma tem seu próprio grupo de objetos e roda uma instância separada do script. Agora, para isso, o computador não pode se sobrecarregar [i]antes[/i] da central...<br /> <br /> Em todo caso, já estou construindo um protótipo aqui, para fazer os devidos profilings com scripts reais. E se achar alguma maneira matemática ou menos dependente de "feeling" de estimar isso, posto por aqui. <img src="http://www.guj.com.br/images/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0">]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/62273/327246.java</guid>
				<link>http://www.guj.com.br/posts/preList/62273/327246.java</link>
				<pubDate><![CDATA[Fri, 15 Jun 2007 09:26:48]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:Grande números de threads</title>
				<description><![CDATA[ Capturei a discussão no referer do meu site (obrigado Lucas)<br /> <br /> Um número grande de threads varia na quantidade de clientes e conexões em sistemas para integração.<br /> <br /> Em algumas medições que fiz, com uma base de cerca de 3000 conexões clientes em um sistema intranet, aplicação web, cerca de 350 threads davam conta do recado.<br /> <br /> Por que só isso ?<br /> <br /> O pool de threads reutiliza várias threads no ciclo de vida da aplicação<br /> Quando são threads de serviços (conexões, EJB, servlets, acceptor), todas são reutilizadas.<br /> Cada usuário não está intensamente usando o sistema, clicando, requisitando e consultando informações. <br /> <br /> Isso muda quando a aplicação cria e gerencia threads, o que pode impactar (negativamente) muito o consumo de recursos.<br /> <br /> Claudio Miranda]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/62273/542926.java</guid>
				<link>http://www.guj.com.br/posts/preList/62273/542926.java</link>
				<pubDate><![CDATA[Thu, 21 Aug 2008 10:47:42]]> GMT</pubDate>
				<author><![CDATA[ claudio4j]]></author>
			</item>
			<item>
				<title>Re:Grande números de threads</title>
				<description><![CDATA[ Aqui usamos threads para simulação de carga, chegamos a usar 700 threads, também com pools e reutilização. E também deram conta do recado, sem aparentemente penalizar a máquina ou comprometer o SO.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/62273/542956.java</guid>
				<link>http://www.guj.com.br/posts/preList/62273/542956.java</link>
				<pubDate><![CDATA[Thu, 21 Aug 2008 12:02:55]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
	</channel>
</rss>