Queue队列
存在目的:实现线程之间数据共享
1、导入队列模块
from multiprocessing import Queue
2、创建一个队列的最大容量
q= Queue(3)#只能存三个数据模块
3、存数据
q.put(3)#可存入多种数据列表等
4、取数据
q.get() #获取一个数据,根据先进先出原则
队列的实际使用:
模拟网络下载数据,使用队列
import multiprocessing
def download_data(q):
'''下载数据'''
data = [11,22,33,44]
#将数据存放入队列
for temp in data:
q.put(temp)
print('已将数据下载完毕')
def save_data(q):
save_data = list()
while True:
data = q.get()
save_data.append(data)
if q.empty():#判断队列是否为空
break
print('数据保存完毕%s' % save_data)
def main():
#创建一个队列,用于进程之间共享数据
q = multiprocessing.Queue(4)
#创建两个进程一个下载一个保存
p_down = multiprocessing.Process(target=download_data, args=(q,))
p_save = multiprocessing.Process(target=save_data, args=(q,))
#从网上下载数据
p_down.start()
#保存到本地
p_save.start()
if __name__ == '__main__':
main()
队列的优点:实现了多进程之间的数据共享