from Queue import Queue qlist=Queue(maxsize=300) import threading for i in range(20): qlist.put("hello num%d" %(i)) def process_work(qlist): while True: val=qlist.get() print val + " " qlist.task_done() qlist.join() workers = [threading.Thread(target=process_work, args=(qlist,)), threading.Thread(target=process_work, args=(qlist,)) ] threads = [] for i in range(20): task=threading.Thread(target=process_work, args=(qlist,)) threads.append(task) for w in threads: w.setDaemon(True) w.start(); qlist.join() # def worker(): # while True: # item = q.get() # do_work(item) # q.task_done() # q = Queue() # for i in range(num_worker_threads): # t = Thread(target=worker) # t.daemon = True # t.start() # for item in source(): # q.put(item) # q.join() #print "hello {} your age {}".format("zhangsan",18) # import Queue # import threading # class Job(object): # def __init__(self, priority, description): # self.priority = priority # self.description = description # print 'Job:',description # return # def __cmp__(self, other): # return cmp(self.priority, other.priority) # q = Queue.PriorityQueue() # q.put(Job(3, 'level 3 job')) # q.put(Job(10, 'level 10 job')) # q.put(Job(1, 'level 1 job')) # def process_job(q): # while True: # next_job = q.get() # print 'for:', next_job.description # q.task_done() # workers = [threading.Thread(target=process_job, args=(q,)), # threading.Thread(target=process_job, args=(q,)) # ] # for w in workers: # w.setDaemon(True) # w.start() # q.join()
# -*- coding: UTF-8 -*- from Queue import Queue import threading import time import random task_list=Queue() #生产者,生产数据 def product(): while True: value = random.randint(1,10) task_list.put(value) print "生产数据 %d" % value time.sleep(1) def consume(): while True: time.sleep(3) value = task_list.get() print "消费数据 %d" % value theaad_list = [] product_task = threading.Thread(target = product) product_task.start() consume_task = threading.Thread(target = consume) consume_task.start() theaad_list.append(product_task) theaad_list.append(consume_task) for i in theaad_list: i.join() print