澳门在线威尼斯官方 > 澳门在线威尼斯官方 > 学习笔记16

原标题:学习笔记16

浏览次数:162 时间:2019-09-17

1.队列(queue)

python 3.x 学习笔记16 (队列queue 以及 multiprocessing模块),

1.队列(queue)

用法:

import queue
q = queue.Queue()    #先进先出模式
q.put(1)                    #存放数据在q里

 

作用: 1)解耦
     2)升高作用

class queue.Queue(maxsize=0)                        #先入先出
class queue.LifoQueue(maxsize=0)                  #后进先出
class queue.PriorityQueue(maxsize=0)             #储存数据时可设置优先级的类别

Queue.qsize()                                                    #   重返队列的轻重
Queue.empty()                                                   # 假如队列为空,再次来到True,反之False
Queue.full()                                                        #假如队列满了,重返True,反之
Queue.get([block[, timeout]]澳门在线威尼斯官方 ,)                              # 获取队列,timeout等待时间
Queue.get_nowait()                                             #相当Queue.get(False)
Queue.put(item)                                                    #写入队列,timeout等待时间( 非阻塞)
Queue.put_nowait(item)                                      # 相当Queue.put(item, False)
Queue.task_done()                                              #在成就一项工作以后,Queue.task_done()函数向任务现已做到的连串发送叁个频限信号
Queue.join()                                                           #骨子里意味着等到队列为空,再实践别的操作

 

2.python八线程不相符cpu密集操作型的任务,适合io操作密集型的职分

 

 

3.multiprocessing模块 

官方详解:

1).pipe(管道)                             

multiprocessing.Pipe()即管道格局,调用Pipe()重回管道的两端的Connection。

2).manager
multiprocessing.manager()
用以多进度之间新闻的分享

3).Pool(进程池)
multiprocessing.Pool()
  1)进度池内部维护一个经过类别,当使用时,则去进度池中拿走二个过程,若是经过池系列中从不可供使用的进进度,那么程序就能够等待,直到进程池中有可用进度停止。

  2)在windos上必得写上if __name__=='__main__':之后才生成进度池才不会出错进度池中经过施行完结后再关闭,假如注释,那么程序直接关门。

  3)进度池五个主意
    apply() 穿行
    apply_async() 并行
    注:pool.apply_async(func=Foo, args=(i,), callback=Bar)#callback回调Bar

 

6.if __name__=='__main__':
_name__ 是当前模块名,当模块被一贯运转时模块名字为 __main__ 。这句话的意思便是,当模块被一贯运营时,以下代码块将被运转,当模块是被导入时,代码块不被周转。

3.x 学习笔记16 (队列queue 以及 multiprocessing模块), 1.队列(queue) 用法: import queueq = queue.Queue() # 先进先出形式 q.put(1) # 存放数据在q里 作...

用法:

import queue
q = queue.Queue()    #先进先出模式
q.put(1)                    #存放数据在q里

 

作用: 1)解耦
     2)进步功效

class queue.Queue(maxsize=0)                        #先入先出
class queue.LifoQueue(maxsize=0)                  #后进先出
class queue.PriorityQueue(maxsize=0)             #存款和储蓄数据时可设置优先级的行列

Queue.qsize()                                                    #   重回队列的深浅
Queue.empty()                                                   # 倘诺队列为空,再次回到True,反之False
Queue.full()                                                        #假如队列满了,再次来到True,反之
Queue.get([block[, timeout]])                              # 获取队列,timeout等待时间
Queue.get_nowait()                                             #相当Queue.get(False)
Queue.put(item)                                                    #写入队列,timeout等待时间( 非阻塞)
Queue.put_nowait(item)                                      # 相当Queue.put(item, False)
Queue.task_done()                                              #在成功一项职业现在,Queue.task_done()函数向职分现已做到的连串发送二个时域信号
Queue.join()                                                           #实际上意味着等到队列为空,再实行其余操作

 

2.python二十三十二线程不相符cpu密集操作型的职务,适合io操作密集型的任务

 

 

本文由澳门在线威尼斯官方发布于澳门在线威尼斯官方,转载请注明出处:学习笔记16

关键词:

上一篇:没有了

下一篇:没有了