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

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

时间2025-09-17 21:18:43分类IT科技浏览5522
导读: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
更改文件或目录的名称命令(mren命令 – 更改文件或目录) 企业网站上线后的维护工作(建设好网站不如维护好网站,企业网站如何做好维护)