不知道为什么会有不稳定的情况,这点十分苦恼。。。
#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)