Python之queue模块


queue是第一个队列模块,元素先进先出,取了就没有了
这里用queue模块实现简单的消费生产者模型
queue就是队列,是线程安全的,只能一边拿一边加元素进去
import queue
import threading


message = queue.Queue(10)


def produce(i):#生产者
    #while True:
    msg = message.put(i)#元素放进队列
    print('put:',i)
def consumer(i):#消费者
    #while True:
    msg = message.get()#等待拿走元素,如果一直没有,线程不会结束,而且队列内一个元素被拿走了就在队列里面去除了
    print(msg)

for i in range(10):
    t = threading.Thread(target=produce,args=(i,))
    t.start()
print(message.qsize())

for i in range(15):#每个人去队列里面取值
    t = threading.Thread(target=consumer,args=(i,))
    t.start()

print(message.qsize())

 

posted @ 2017-03-01 12:16  蜗牛仔  阅读(1195)  评论(0编辑  收藏  举报