python高级进阶_20_进程之间的通信之queue(Poo演示)

from  multiprocessing import Manager,Pool
import random ,time,os
def  write(q):
    for i in range(10):
        q.put(i)
        print("正在添加=====%d====到queue "%i)
        time.sleep(1)
def read(q):
        for i in range(q.qsize()):
            value=q.get(True)
            print("正在从queue取数据,数据为=====%d==== " %value)
            time.sleep(1)
if __name__=='__main__':
    q=Manager().Queue()   #队列对象要用 这个创建
    pool=Pool()   # 线程池
    pool.apply(write,args=(q,))  # 用阻塞的形式,阻塞的概念请看之前的
    pool.apply(read, args=(q,))  # 添加进程任务 
    pool.close()  # 关闭线程池 
    pool.join() # 等待完成

打印结果:

正在添加=0到queue
正在添加=1到queue
正在添加=2到queue
正在添加=3到queue
正在添加=4到queue
正在添加=5到queue
正在添加=6到queue
正在添加=7到queue
正在添加=8到queue
正在添加=9到queue
正在从queue取数据,数据为=0
正在从queue取数据,数据为=1
正在从queue取数据,数据为=2
正在从queue取数据,数据为=3
正在从queue取数据,数据为=4
正在从queue取数据,数据为=5
正在从queue取数据,数据为=6
正在从queue取数据,数据为=7
正在从queue取数据,数据为=8
正在从queue取数据,数据为=9

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值