from multiprocessing import Process,Queue
import os
import time
import random
#写入数据
def write(q):
for value in ['a','b','C','D']:
q.put(value) #q.put把数据丢进队列中
print("写入数据%s"%value)
time.sleep(random.random())
#读数据
def read(q):
while True:
if not q.empty():#判断队列不为空则读数据
value=q.get(True) #q.get读取队列数据
print("get values is %s"%value)
time.sleep(random.random())
if __name__=="__main__":
q=Queue() #初始化队列
pw=Process(target=write,args=(q,))#初始化进程,targe为写函数名,队列q为args参数,参数以元组形式传参
pw.start()#启动进程实例,创建子进程
pw.join()#接着执行
pr=Process(target=read,args=(q,))
pr.start()
pr.join()
print("写入并且读完")
write ----------->read 二者通信使用队列+进程(queue+process)方式进行进程通信,队列,先进先出