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

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

时间2025-08-05 08:15:10分类IT科技浏览4767
导读: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
如何实现网站排名整站优化(全面提升网站排名效果)