简单的python多线程问题
#!coding:utf-8 # 导入Queue库,用于资源队列 import Queue # 导入多线程的模块 import threading # 导入time模块 import time # 初始化队列 q = Queue.Queue(0) # 当有多个线程共享一个东西的时候就可以用它了 #初始化最大线程数 MAX_WORKERS = 3 #定义自己的线程类 class myThread(threading.Thread): def __init__(self, queue, job): self.queue = queue self.job = job threading.Thread.__init__(self) #处理队列的类 def processQueue(self): time.sleep(1) print "%s and the thread is %s\n" % (self.queue.get(), self.job) #重新定义run方法 def run(self): while True: if self.queue.qsize() > 0: self.processQueue() else: exit(0) if __name__ == "__main__": for i in range(10 * MAX_WORKERS): q.put(i) print "job'size is ", q.qsize() for i in range(MAX_WORKERS): myThread(q, i).start()