<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Kirby Angell wrote:<br>
<blockquote cite="midxbt6d.2829$gm.1283@okepread07" type="cite">We are
porting our applications from Python 2.2 on RH9 to Python 2.3 on RH9. 
One of our apps used to be able to create threads with wild abandon,
800 or more if necessary.  With Python 2.3 we are hitting a hard limit
of 254 on RH9 and around 400 on FC2.
  <br>
  <br>
What is the limiting factor for the number of threads we can create? 
Is there a way to increase it?
  <br>
  <br>
-- Kirby
  <br>
</blockquote>
Interesting.  I modified a little threading script that I have and it
puked around creating the 404-405th thread (I'm also running on FC2):<br>
<font face="Courier New, Courier, monospace"><br>
Starting thread 404<br>
initing thread 404<br>
Traceback (most recent call last):<br>
  File "spawn_threads.py", line 28, in ?<br>
    dn.start()<br>
  File "/usr/lib/python2.3/threading.py", line 410, in start<br>
    _start_new_thread(self.__bootstrap, ())<br>
thread.error: can't start new thread</font><br>
<br>
The only threading changes that I found on the "What's New in Python
2.3" page was this:<br>
<br>
"""<br>
The <tt class="module">thread</tt> and <tt class="module">threading</tt>
modules now have
companion modules, <tt class="module">dummy_thread</tt> and <tt
 class="module">dummy_threading</tt>,
that provide a do-nothing implementation of the <tt class="module">thread</tt>
module's interface for platforms where threads are not supported. The
intention is to simplify thread-aware modules (ones that <i>don't</i>
rely on threads to run) by putting the following code at the top:
<p></p>
<div class="verbatim">
<pre>try:
    import threading as _threading
except ImportError:
    import dummy_threading as _threading
</pre>
</div>
<p>
In this example, <tt class="module">_threading</tt> is used as the
module name to make
it clear that the module being used is not necessarily the actual
<tt class="module">threading</tt> module. Code can call functions and
use classes in
<tt class="module">_threading</tt> whether or not threads are
supported, avoiding an
<tt class="keyword">if</tt> statement and making the code slightly
clearer. This
module will not magically make multithreaded code run without threads;
code that waits for another thread to return or to do something will
simply hang forever. </p>
<br>
"""<br>
...so I'm not sure what changed to cause you grief.  Just out of
curiosity, what are you doing that makes you feel like you need to
"create threads with wild abandon"?  Typically, I think of it as a
little scary to just let your program spawn as many threads as it can.<br>
<br>
Jeremy<br>
</body>
</html>