[Tutor] question about number of threads
Kent Johnson
kent37 at tds.net
Thu Oct 12 16:03:05 CEST 2006
shawn bright wrote:
> Hey there,
> i have an app that runs several processes as threads.
> using the threading.Thread()
>
> now, i have another app that does the same thing. Now, pretty soon, we
> will be combining all the features of the two packages together into one
> app.
>
> My question is, is there a limit on how many threads one GUI application
> can have running in the background ?
> Most of them are sleeping most of the time. They wake up and do
> something every 10 seconds, 20 minutes, etc...
IIRC the number of threads is limited by memory - each thread requires
some heap space for its stack, etc. I don't think you will have trouble
until you have hundreds or thousands of threads.
For example on my computer this program prints 1031 before it exits with
thread.error: can't start new thread:
import time
from threading import Thread, activeCount
def run():
while 1:
time.sleep(1)
while 1:
print activeCount()
t=Thread(target=run)
t.setDaemon(1)
t.start()
(The setDaemon() call lets the application exit normally when it gets an
exception; otherwise it hangs with all the threads running.)
Kent
More information about the Tutor
mailing list