queue:队列,即先进先出,它有以下几个方法:
1.判断队列的大小:size()
2.向队列中添加:put()
3.向队列中取出:get()
4.如果队列规定了长度,用来判断是否满了:full()
import threading,time
import queue
q = queue.Queue(maxsize=10)#在里面设置队列的大小
def Producer():
count = 1
while True:
q.put("面包%s"%count)
print("生产了面包%s\n"%count)
count +=1
time.sleep(1)
def Consumer(name):
while True:
print("{0}吃了{1}\n".format(name,q.get()))
time.sleep(5)
p = threading.Thread(target=Producer,)
c = threading.Thread(target=Consumer,args=('11111',))
c1 = threading.Thread(target=Consumer,args=('22222',))
p.start()
c.start()
c1.start()
结果:
生产了面包1
11111吃了面包1
生产了面包2
22222吃了面包2
生产了面包3
生产了面包4
生产了面包5
生产了面包6
11111吃了面包3
22222吃了面包4
生产了面包7
生产了面包8
生产了面包9
生产了面包10
生产了面包11
11111吃了面包5
22222吃了面包6
生产了面包12
生产了面包13
生产了面包14
生产了面包15
11111吃了面包7
生产了面包16
22222吃了面包8
生产了面包17
生产了面包18
11111吃了面包9
生产了面包19
22222吃了面包10
生产了面包20