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

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

时间2025-06-19 16:14:50分类IT科技浏览4273
导读: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
web.前端(Web前端杂乱知识复习)