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 + "\n"
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