测试某硬件平台下python能启动的最大线程数

来源:互联网 发布:腾讯java工程师待遇 编辑:程序博客网 时间:2024/06/05 17:03

代码如下:

#!/usr/bin/env pythonimport sysimport timeimport threadingclass MyThread(threading.Thread):    def __init__(self):        threading.Thread.__init__(self)    def run(self):    time.sleep(1)def return_max_threads(num):    threads = []    for i in range(1,(num + 1)):        threads.append(MyThread())    for thread in threads:        try:            thread.start()        except BaseException:        print "Max number of threads is: \"%s\"" % thread.getName().split('-')[1]            sys.exit(1)    print "Max number of threads over: \"%s\"" % len(threads)    for thread in threads:        thread.join()if __name__ == "__main__":    if len(sys.argv[1:]) != 1:       print "%s <thread_nums>" % sys.argv[0]       sys.exit(1)    arg = ''.join(sys.argv[1:])    try:    int(arg)    except ValueError:    print "please enter an \"integer\""    sys.exit(1)    num = int(arg)    if num <= 1:    print "please enter an integer greater than 1"    sys.exit(1)    return_max_threads(num)


我在8核16线程服务器上测试最大可以同时开启4792个线程

admin:~ # python TestMaxThreads.py 4000
Max number of threads over: "4000"

admin:~ # python TestMaxThreads.py 10000
Max number of threads is: "4792"

0 0
原创粉丝点击