1、可以一直往队列写数据,队列满了阻塞写入线程
2、可以一直从队列取出数据,队列空了,阻塞取数据线程
3、取数据线程跑的比写入线程快的话,会等待它。
from queue import Queue
import threading
import time
q = Queue(20)
def func():
for i in range(20):
q.put(i)
time.sleep(1)
t1 = threading.Thread(target=func,args=[])
t1.start()
for i in range(20):
print(q.get())
t1.join()