一个简单的thread池源程序

pyhont 线程池我认为就是从Queue中获得需要执行的任务,然后开一个线程从Queue中获取任务,当执行完后向Queue前一个任务发出消息。


#-*-coding:utf-8 -*-
import threading,time,Queue,os
class threadPool(threading.Thread):
        def __init__(self,workQueue,ID):
                self.workQueue=workQueue
                self.ID=ID
        def process(self,elemt):
                print "{0} - task:---{1}".format(self.ID,elemt) #一种标准输出格式
        def run(self):
                while True:
                        try:
                                elemt=self.workQueue.get()
                                self.process(elemt)
                        finally:
                                self.workQueue.task_done() #通知queue前一个task已经完成
def main(filelist):
        print (filelist)
        workQueue=Queue.Queue()#创建一个先进先出的队列
        for i in range(int(raw_input("请输入工作线程的数量"))):
                thread=threadPool(workQueue,i) #创建线程
                thread.daemon=True #守护进程
                thread.start()
        for elemt in filelist:
                workQueue.put(elemt)
        workQueue.join()#线程同步

if __name__=="__main__":
        print "aa"
        main(os.listdir("C:\Users\lenovo\Desktop"))



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值