使用python测测你的系统最多能创建多少个线程
2012-12-08 07:34
351 查看
使用一个循环,不断的创建线程,直到出现异常,才通知它们。python真是个好东西。
代码如下:
以下是python2.7在XP下的运行结果,可能跟具体的机器物理配置也有关系。
最终只能创建1027个线程。
我后来使用python2.5.2来测了一下,也只能创建1029个线程。
储位朋友有兴趣,可以使用它来测测不同平台下,最多能创建多少个线程。
代码如下:
#!/usr/bin/env python #coding=gbk import threading import time, random, sys class Counter: def __init__(self): self.lock = threading.Lock() self.value = 0 def increment(self): self.lock.acquire() self.value = value = self.value + 1 self.lock.release() return value counter = Counter() cond = threading.Condition() class Worker(threading.Thread): def run(self): print self.getName(), "-- created." cond.acquire() #for i in range(10): # pretend we're doing something that takes 10?00 ms #value = counter.increment() # time.sleep(random.randint(10, 100) / 1000.0) cond.wait() #print self.getName(), "-- task", "finished" cond.release() if __name__ == '__main__': try: for i in range(3500): Worker().start() # start a worker except BaseException, e: print "异常: ", type(e), e time.sleep(5) print "maxium i=", i finally: cond.acquire() cond.notifyAll() cond.release() time.sleep(3) print threading.currentThread().getName(), " quit"
以下是python2.7在XP下的运行结果,可能跟具体的机器物理配置也有关系。
........... Thread-1021 -- created. Thread-1022 -- created. Thread-1023 -- created. Thread-1024 -- created. Thread-1025 -- created. Thread-1026 -- created. 异常: <class 'thread.error'> can't start new thread Thread-1027 -- created. maxium i= 1027 MainThread quit
最终只能创建1027个线程。
我后来使用python2.5.2来测了一下,也只能创建1029个线程。
储位朋友有兴趣,可以使用它来测测不同平台下,最多能创建多少个线程。
相关文章推荐
- 使用python测测你的系统最多能创建多少个线程
- 使用python测测你的系统最多能创建多少个线程
- Python使用面向对象方式创建线程实现12306售票系统
- Python使用面向对象方式创建线程实现12306售票系统
- python 以面向对象的方式创建线程 实现售票系统
- 【翻译自mos文章】在11.2中,使用DBMS_SERVICE.CREATE_SERVICE 能最多创建多少个service?
- JVM最多能创建多少个线程:unabletocreatenewnativethread
- python 使用ThreadPool 创建线程,后台执行并check
- Java核心知识点学习----线程中如何创建锁和使用锁 Lock,设计一个缓存系统
- python 使用@run_on_executor 创建线程,后台执行并check(2)
- Python使用Threading模块创建线程
- JVM最多能创建多少个线程: unable to create new native thread
- 线程中如何创建锁和使用锁 Lock,设计一个缓存系统
- JVM最多能创建多少个线程: unable to create new native thread
- JVM最多能创建多少个线程: unable to create new native thread
- Python下字符串的创建和转义字符的使用 - 千月的python linux 系统管理指南学习笔记(10)
- JVM最多能创建多少个线程: unable to create new native thread
- python 8-1 如何使用多线程,Thread创建线程,执行函数赋值给target//类+函数放在run方法中执行
- JVM最多可创建多少线程
- JVM最多能创建多少个线程: unable to create new native thread