首页IT科技python取整取余符号(python中Queue和pipe的差别)

python取整取余符号(python中Queue和pipe的差别)

时间2025-04-29 02:46:37分类IT科技浏览3247
导读:1、区别...

1            、区别

(1)Queue使用 putget维护队列             ,pipe使用 send recv维护队列             。

(2)pipe只提供两个端点                 ,而Queue没有限制                  。

这意味着在使用Pipe时      ,只能同时启动两个进程     。一个生产者和一个消费者在这两个端点上操作(由pipe()返回的两个值)         ,这两个端点一起维护一个队列         。如果多个进程同时在管道的同一个端点上操作                 ,就会出现错误(因为没有锁         ,类似于线程不安全)                  。因此      ,两个端点相当于只为流程提供两个安全操作位置                 ,从而将流程数量限制为只有2个        。

(3)Queue的封装比较好            ,Queue只提供一个结果   ,可以被多个进程同时调用;Pipe()返回两个结果                 ,分别由两个进程调用      。

(4)Queue的实现基于pipe               ,所以pipe的运行速度比Queue快很多

(5)当只需要两个进程时,管道更快              ,当需要多个进程同时操作队列时                 ,使用队列                  。

2                 、实例

importrandom importtime frommultiprocessingimportProcess,Pipe,current_process defproduce(conn): whileTrue: new=random.randint(0,100) print({}produce{}.format(current_process().name,new)) conn.send(new) time.sleep(random.random()) defconsume(conn): whileTrue: print({}consume{}.format(current_process().name,conn.recv()))time.sleep(random.random()) if__name__==__main__: pipe=Pipe() p1=Process(target=produce,args=(pipe[0],)) p2=Process(target=consume,args=(pipe[1],)) p1.start() p2.start()

以上就是python中Queue和pipe的差别   ,希望能对大家有所帮助           。更多Python学习指路:Python基础教程

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
windows安装tensorflow旧版本(WIN10安装配置TensorRT详解) 制冰设备每天30吨价格(如何在Cacti中监控云基础设施)