Python 存在BUG的线程池
不知道为什么会有不稳定的情况,这点十分苦恼。。。
#coding:utf-8 import time import threading import Queue import sys class Worker(threading.Thread): def __init__(self, name, queue): threading.Thread.__init__(self) self.queue = queue self.start() def run(self): # 著名的死循环,保证接着跑下一个任务 while True: # 队列为空则退出线程 if self.queue.empty(): break # 获取一个项目 self.queue.get() # 告诉系统说任务完成 self.queue.task_done() def test(a): print "a:%d" %a # 队列 queue = Queue.Queue() # 加入100个任务队列 for i in range(20): queue.put(test(i)) # 开10个线程 for i in range(2): threadName =str(i) Worker(threadName, queue) # 所有线程执行完毕后关闭 if queue.join: sys.exit(1)