首页 > 编程语言 > 详细

Python之创建low版的线程池

时间:2017-09-04 22:08:34      阅读:212      评论:0      收藏:0      [点我收藏+]
#!/user/bin/evn python
# -*- coding:utf-8 -*-
import threading,time
import queue
#创建线程池类
class ThreadPool(object):
    def __init__(self,max_num=20):
        #创建队列
        self.queue=queue.Queue(max_num)
        for i in range(max_num):
            #往队列里面依次放入20个线程类名(threading.Thread)
            self.queue.put(threading.Thread)
    
     #获取线程的方法       
    def get_thread(self):
        #从队列里面依次取出线程名
        return self.queue.get()
    #添加线程名到队列里面
    def add_thread(self):
        self.queue.put(threading.Thread)

def func(p,i):
    time.sleep(1)
    print(i)
    p.add_thread()

#创建线程池对象
p=ThreadPool()

for i in range(100):
    ret=p.get_thread()#获取线程类名
    t=ret(target=func,args=(p,i,))#创建线程对象
    t.start()#线程开始执行

 

Python之创建low版的线程池

原文:http://www.cnblogs.com/wangbinbin/p/7475788.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!