<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Does Windows have a limit of 2000 threads per process?</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx</link><description>You've run out of address space.</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Does Windows have a limit of 2000 threads per process?</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#444918</link><pubDate>Fri, 29 Jul 2005 17:15:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:444918</guid><dc:creator>Tim Smith</dc:creator><description>Maybe I am just getting grumpy in my old age but...&lt;br&gt;&lt;br&gt;I've done plenty of non-scalable threading system.  I would even swear Larry O. used some of my code in an article about poor threading models using events.  But I understood it the ramifications of what I was doing.  I knew it wouldn't work well in a high stress environment.&lt;br&gt;&lt;br&gt;Are people programming these days without a basic understanding of how computers work?  A simple philosophy of &amp;quot;Nothing is free&amp;quot; would raise a red flag on the 2000 thread issue.  Even before I got to sentence two in this article I was asking &amp;quot;But why?&amp;quot;&lt;br&gt;&lt;br&gt;*sigh* *rant off*&lt;br&gt;&lt;br&gt;The really sad thing is that it all the programmers who know they still have a lot to learn are the guys who are reading these blogs.  It is the people who don't know that they don't have a clue who need to be here.&lt;br&gt;&lt;br&gt;Ugh, I shouldn't post before my morning coke.</description></item><item><title>re: Does Windows have a limit of 2000 threads per process?</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#444921</link><pubDate>Fri, 29 Jul 2005 17:19:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:444921</guid><dc:creator>Travis Owens</dc:creator><description>Of course we could raise the question, should any application be generating THAT many threads that this should be an issue in the first place.&lt;br&gt;&lt;br&gt;Or maybe I'm re-preaching &amp;quot;640k is enough for anybody&amp;quot; concepts.</description></item><item><title>re: Does Windows have a limit of 2000 threads per process?</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#444935</link><pubDate>Fri, 29 Jul 2005 17:55:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:444935</guid><dc:creator>Joe Chung</dc:creator><description>While it doesn't make sense to have 2000+ threads on a single CPU yet, it might make sense in the (not so far) future when a machine may have several processors, each of which might be multi-core (2 or more processors per chip).</description></item><item><title>re: Does Windows have a limit of 2000 threads per process?</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#444942</link><pubDate>Fri, 29 Jul 2005 18:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:444942</guid><dc:creator>Tim Ritchey</dc:creator><description>Ahh, I/O Completion ports. Everyone seems to be on an IOCP kick these days. I was all excited about them myself until I learned that you cannot support older versions of Windows. At that point,  the consensus seemed to be that OVERLAPPED I/O was the way to go for scalable networking sans threads. God help you if you are looking for a good example of how to create a robust overlapped networking application. At least more than just a simple echo client and echo server. I spent more time than I would like to admit getting everything to work. I don't suppose anyone knows of a good real-world example of OVERLAPPED networking?</description></item><item><title>re: Does Windows have a limit of 2000 threads per process?</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#444943</link><pubDate>Fri, 29 Jul 2005 18:23:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:444943</guid><dc:creator>kbiel</dc:creator><description>I think Raymond has it right, the people asking this question are probably creating a thread per object.  They probably don't have an expectation to run all 2000+ threads simultaneously, they just don't understand thread pooling.</description></item><item><title>re: Does Windows have a limit of 2000 threads per process?</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#444947</link><pubDate>Fri, 29 Jul 2005 18:34:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:444947</guid><dc:creator>mschaef</dc:creator><description>'The &amp;quot;one thread per client&amp;quot; model is well-known not to scale beyond a dozen clients or so.'&lt;br&gt;&lt;br&gt;Perhaps that should read 'one win32 operating system thread per client'. From what I understand, never having used it myself, Erlang does a pretty good job of making application level threads cheap to create and dispatch:&lt;br&gt;&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://wagerlabs.com/tech/2005/05/27000-games.html"&gt;http://wagerlabs.com/tech/2005/05/27000-games.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;quot;I have a PowerBook G4 1.25Ghz with 512Mb of memory. Running 27K games consumes about 600Mb of memory and takes around 15 minutes per 10K games due to heavy swapping. ...  Assuming an average of 5 players per game that's 135,000 players and 405,000 simultaneous processes. &amp;quot;&lt;br&gt;&lt;br&gt;As you've pointed out before (&lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/oldnewthing/archive/2005/02/11/371042.aspx"&gt;http://blogs.msdn.com/oldnewthing/archive/2005/02/11/371042.aspx&lt;/a&gt;) sometimes it makes sense to think past OS-native services.</description></item><item><title>re: Does Windows have a limit of 2000 threads per process?</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#444958</link><pubDate>Fri, 29 Jul 2005 18:49:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:444958</guid><dc:creator>Ray Trent</dc:creator><description>32-bit Windows... how... 20th century.&lt;br&gt;&lt;br&gt;So I guess this isn't likely to be a limit for very much longer, eh?&lt;br&gt;&lt;br&gt;Of course, people will complain about having a mere 8 trillion threads, no doubt...</description></item><item><title>re: Does Windows have a limit of 2000 threads per process?</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#444959</link><pubDate>Fri, 29 Jul 2005 18:52:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:444959</guid><dc:creator>oldnewthing</dc:creator><description>Of course if you disallow native code you can get away with more tricks. A continuation does a lot less memory than a thread but its use is limited to managed environments. Great work if you can get it.</description></item><item><title>re: Does Windows have a limit of 2000 threads per process?</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#444976</link><pubDate>Fri, 29 Jul 2005 19:18:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:444976</guid><dc:creator>mgrier</dc:creator><description>The core problem here is the sequential programming model combined with the native compilers' reliance on the machine stack.&lt;br&gt;&lt;br&gt;As Raymond points out, continuations can effectively give you a ton of &amp;quot;threads&amp;quot;.  You don't need managed code; there have been plenty of native-code-generating continuation-passing languages over the years.  Continuation-passing doesn't even solve everything because you need synchronization primitives which are associated with these continuations/contexts instead of operating system units of execution.  (For example, I have no idea how well critical sections and fibers interact on NT...)&lt;br&gt;&lt;br&gt;You do have to wonder then what a &amp;quot;thread&amp;quot; means.  If it means whatever you want it to mean in a context, we're compating apples and oranges.  In Raymond's context, he's talking about threads as an OS scheduling concept, not a programming language level concept.</description></item><item><title>re: Does Windows have a limit of 2000 threads per process?</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#445019</link><pubDate>Fri, 29 Jul 2005 20:26:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:445019</guid><dc:creator>Skilled and Aware of it</dc:creator><description>re: Tim Smith:&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://www.phule.net/mirrors/unskilled-and-unaware.html"&gt;http://www.phule.net/mirrors/unskilled-and-unaware.html&lt;/a&gt;</description></item><item><title>re: Does Windows have a limit of 2000 threads per process?</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#445059</link><pubDate>Fri, 29 Jul 2005 21:30:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:445059</guid><dc:creator>nikita</dc:creator><description>It's true that thread-per-connection architecture has scalability problems, but its alternative has its drawbacks too. So many of them actually, that after my first serious encounter with non-blocking-state-machine type of server (SquidNG, circa 2000), I ended up compiling a list of problems I had with that type of architecture: &lt;a rel="nofollow" target="_new" href="http://nikita.w3.to/thread-per-connection.html"&gt;http://nikita.w3.to/thread-per-connection.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;Since then I had to write a lot of similar code both in user and kernel space, but my opinion is still the same: &amp;quot;Async servers? Not in C.&amp;quot;.&lt;br&gt;</description></item><item><title>re: Does Windows have a limit of 2000 threads per process?</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#445082</link><pubDate>Fri, 29 Jul 2005 22:23:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:445082</guid><dc:creator>Jonathan</dc:creator><description>Presumably this limit is higher in 64-bit processes?</description></item><item><title>re: Does Windows have a limit of 2000 threads per process?</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#445140</link><pubDate>Sat, 30 Jul 2005 00:21:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:445140</guid><dc:creator>Ulric</dc:creator><description>STACK_SIZE_PARAM_IS_A_RESERVATION is new in XP, for previous versions of Windows we're entirely stuck because you can only increase the reserved stack side for each thread from the default, not decrease it.&lt;br&gt;&lt;br&gt;This means that since the main UI thread generally has a pretty large stack (several megs, for example, in a significant C++ application), any worker or helper thread end up having as large a reserved stack size.  This results in applications taking up much more memory than they anticipate for every additionnal thread, without knowing it. Something I learned the hard way, let's just say!&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>re: Does Windows have a limit of 2000 threads per process?</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#445154</link><pubDate>Sat, 30 Jul 2005 00:54:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:445154</guid><dc:creator>Shailesh</dc:creator><description>From MSDN topic &amp;quot;Thread Stack Size&amp;quot; : &amp;quot;A stack is freed when its thread exits. It is not freed if the thread is terminated by another thread.&amp;quot;&lt;br&gt;&lt;br&gt;Why exactly is the stack not freed if terminated by another thread?&lt;br&gt;</description></item><item><title>re: Does Windows have a limit of 2000 threads per process?</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#445206</link><pubDate>Sat, 30 Jul 2005 03:25:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:445206</guid><dc:creator>an0nym0us</dc:creator><description>I/O Completion ports work until you get blocked by a library or system API that is inherently sequential and does support overlapped operations (Winsock name resolution, and authentication APIs, for example).  These can take few seconds and then you end up with a thread-per-client or a denial of service.</description></item><item><title>re: Does Windows have a limit of 2000 threads per process?</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#445220</link><pubDate>Sat, 30 Jul 2005 04:42:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:445220</guid><dc:creator>LarryOsterman</dc:creator><description>Shailesh, because terminating a thread means simply unhooking it from the scheduler (which causes it to stop executing since it will never be scheduled again).&lt;br&gt;&lt;br&gt;The NT scheduler doesn't know about thinks like &amp;quot;stacks&amp;quot;, a &amp;quot;stack&amp;quot; is a memory management thingy.&lt;br&gt;</description></item><item><title>re: Does Windows have a limit of 2000 threads per process?</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#445281</link><pubDate>Sat, 30 Jul 2005 08:16:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:445281</guid><dc:creator>dinov</dc:creator><description>mgrier:&lt;br&gt;&lt;br&gt;On fibers &amp;amp; critical sections: they work like water &amp;amp; oil.  Critical sections are per-thread and don't see fibers at all.  If Fiber a is running on thread 1 and takes a crst and then is switched out &amp;amp; back in on thread 2 and attempts to re-acquire the critical section it blocks.  If fiber b was previously running on thread 3 and is then switched to thread 1 and attempts to acquire the same critical section it succeeds.&lt;br&gt;&lt;br&gt;This and all other thread based synchronization (in other words, all synchronization) was one of the big gotchas with the CLR &amp;amp; fiber mode support.  It's easy to eliminate this in your own code, but harder to eliminate from other code in your process.  One fun issue is the loader lock - which is just another critical section to watch out for (and on win64 it gets more fun w/ exception handling!).  Not to mention all the other thread-locale state that you need to watch out for that may bite you when using fibers.  &lt;br&gt;&lt;br&gt;Ahh fibers... this is not the answer you're looking for.&lt;br&gt;</description></item><item><title>re: Does Windows have a limit of 2000 threads per process?</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#445285</link><pubDate>Sat, 30 Jul 2005 08:23:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:445285</guid><dc:creator>Nathan Moore</dc:creator><description>Re: mschaef&lt;br&gt;&lt;br&gt;That poker tech thing is talking about processes not threads.  You are comparing apples and oranges.</description></item><item><title>re: Does Windows have a limit of 2000 threads per process?</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#445543</link><pubDate>Sun, 31 Jul 2005 00:40:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:445543</guid><dc:creator>mschaef</dc:creator><description>Re: Nathan Moore&lt;br&gt;&lt;br&gt;I believe the term process, in this context, comes from Tony Hoare's &amp;quot;Communicating Sequential Processes&amp;quot;, a book that contains a lot of the theoretical basis of Erlang.&lt;br&gt;&lt;br&gt;From &lt;a rel="nofollow" target="_new" href="http://www.erlang.org/faq/t1.html"&gt;http://www.erlang.org/faq/t1.html&lt;/a&gt;, &lt;br&gt;&lt;br&gt;&amp;quot;Concurrency and message passing are a fundamental to the language. Applications written in Erlang are often composed of hundreds or thousands of lightweight processes.Context switching between Erlang processes is typically one or two orders of magnitude cheaper than switching between threads in a C program. &amp;quot;&lt;br&gt;&lt;br&gt;In any event, I would think having a bunch of OS processes would be _worse_ than having a bunch of OS threads.</description></item><item><title>re: Does Windows have a limit of 2000 threads per process?</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#445603</link><pubDate>Sun, 31 Jul 2005 07:45:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:445603</guid><dc:creator>Skywing</dc:creator><description>Actually, there's a new feature in XP/2003 that lets you (well, you as in the code that creates threads via NtCreateThread -- kernel32, in the case of win32 programs) specify a pointer to be auto freed by the kernel when a thread is terminated (released via NtFreeVirtualMemory).&lt;br&gt;&lt;br&gt;The reason why the kernel doesn't automatically free user stacks in general is that the kernel didn't allocate them in the first place, so it doesn't necessarily know how to free them.  The new auto stack free stuff works for all Win32 threads, which have stack allocated via a new block returned by NtAllocateVirtualMemory.  You could conceivably have a thread that uses stack allocated by HeapAlloc(), or that's a global variable in a loaded image, or any number of other odd things, though, and in such cases you wouldn't want the kernel trying to free the stack with NtFreeVirtualMemory.&lt;br&gt;&lt;br&gt;&amp;quot;an0nymo0us&amp;quot;: For those things, you're pretty much stuck with using a dedicated thread pool or implementing them yourself (i.e. DNS queries).</description></item><item><title>re: Does Windows have a limit of 2000 threads per process?</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#445616</link><pubDate>Sun, 31 Jul 2005 09:06:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:445616</guid><dc:creator>TC</dc:creator><description>Hmm, am I the only person here with 30+ years experience who has never heard of continuation style programming?  :-(&lt;br&gt;&lt;br&gt;TC</description></item><item><title>re: Does Windows have a limit of 2000 threads per process?</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#445748</link><pubDate>Sun, 31 Jul 2005 20:03:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:445748</guid><dc:creator>Andreas Haeber</dc:creator><description>TC: See &lt;a rel="nofollow" target="_new" href="http://en.wikipedia.org/wiki/Continuation"&gt;http://en.wikipedia.org/wiki/Continuation&lt;/a&gt; :)</description></item><item><title>re: Does Windows have a limit of 2000 threads per process?</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#445772</link><pubDate>Sun, 31 Jul 2005 22:36:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:445772</guid><dc:creator>Merle</dc:creator><description>TC: nope, you're not the only programmer who has not heard of continuation-style programming (although I'm only halfway to 30 in terms of professional experience).&lt;br&gt;&lt;br&gt;However, thanks to the link from Andreas, I now know that I've used it.  Ah, the joys of setjmp().  I learned so many brutal hacks from reading the source to BSD's telnet.  &lt;br&gt;&lt;br&gt;Like genget(), their happy command parser.  I abused that in so many of my early C programs.&lt;br&gt;&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://ftp.gcu.info/tuhs/PDP-11/Trees/2.11BSD/usr/src/ucb/telnet.c"&gt;http://ftp.gcu.info/tuhs/PDP-11/Trees/2.11BSD/usr/src/ucb/telnet.c&lt;/a&gt;</description></item><item><title>re: Does Windows have a limit of 2000 threads per process?</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#446501</link><pubDate>Tue, 02 Aug 2005 10:18:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:446501</guid><dc:creator>Jawahar Mundlapati</dc:creator><description>You may check Kegel's excellent resource &lt;a rel="nofollow" target="_new" href="http://www.kegel.com/c10k.html"&gt;http://www.kegel.com/c10k.html&lt;/a&gt;</description></item><item><title>Maximum number of threads per process</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#446545</link><pubDate>Tue, 02 Aug 2005 13:45:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:446545</guid><dc:creator>Earning the next skiing holiday</dc:creator><description /></item><item><title>Maximum number of threads per process</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#446546</link><pubDate>Tue, 02 Aug 2005 13:46:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:446546</guid><dc:creator>Earning the next skiing holiday</dc:creator><description /></item><item><title>Non-blocking state machines</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#446672</link><pubDate>Tue, 02 Aug 2005 19:36:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:446672</guid><dc:creator>Craig Ringer</dc:creator><description>nikita, given your &amp;quot;not in C&amp;quot; comment with regards to threading alternatives, you might be interested in examining Twisted - it's a Python framework for deferred &amp;quot;reactor&amp;quot;-style execution. Some of the things people have done with it are pretty astonishing.&lt;br&gt;&lt;br&gt;Speaking of which... I don't suppose anybody here knows if IronPython is going anywhere? Python on .net might be very interesting indeed.</description></item><item><title>Non-blocking state machines (2)</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#446676</link><pubDate>Tue, 02 Aug 2005 19:42:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:446676</guid><dc:creator>Craig Ringer</dc:creator><description>Actually, it appears that many of the criticisms leveled against async servers in C apply to Twisted too. I doubt it'd interest you much, though it's evidently very useful for many problems.</description></item><item><title>On the unanswerability of the maximum number of user interface objects a program can create</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#735300</link><pubDate>Fri, 01 Sep 2006 17:00:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:735300</guid><dc:creator>The Old New Thing</dc:creator><description>It's not like there's one number that controls everything.</description></item><item><title>Number of Maximum Thread on windows &amp;laquo; Manish Pansiniya&amp;#8217;s Blog</title><link>http://blogs.msdn.com/oldnewthing/archive/2005/07/29/444912.aspx#8145898</link><pubDate>Tue, 11 Mar 2008 09:43:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8145898</guid><dc:creator>Number of Maximum Thread on windows « Manish Pansiniya’s Blog</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://maniish.wordpress.com/2008/03/11/number-of-maximum-thread-on-windows/"&gt;http://maniish.wordpress.com/2008/03/11/number-of-maximum-thread-on-windows/&lt;/a&gt;&lt;/p&gt;
</description></item></channel></rss>