在以下的文章之中我们来了解一下什么是python中的进程池。了解一下python进程池的相关知识,以及进程池在python编程之中能起到什么样的作用。

进程池

Pool类描述了一个工作进程池,他有几种不同的方法让任务卸载工作进程。

进程池内部维护一个进程序列,当使用时,则去进程池中获取一个进程,如果进程池序列中没有可供使用的进进程,那么程序就会等待,直到进程池中有可用进程为止。

我们可以用Pool类创建一个进程池, 展开提交的任务给进程池。

我们来举一个例子:#apply

from multiprocessing import Pool

import time

def f1(i):

time.sleep(0.5)

print(i)

return i + 100

if __name__ == "__main__":

pool = Pool(5)

for i in range(1,31):

pool.apply(func=f1,args=(i,))

#apply_async

def f1(i):

time.sleep(0.5)

print(i)

return i + 100

def f2(arg):

print(arg)

if __name__ == "__main__":

pool = Pool(5)

for i in range(1,31):

pool.apply_async(func=f1,args=(i,),callback=f2)

pool.close()

pool.join()

一个进程池对象可以控制工作进程池的哪些工作可以被提交,它支持超时和回调的异步结果,有一个类似map的实现。

processes :使用的工作进程的数量,如果processes是None那么使用 os.cpu_count()返回的数量。

initializer: 如果initializer是None,那么每一个工作进程在开始的时候会调用initializer(*initargs)。

maxtasksperchild:工作进程退出之前可以完成的任务数,完成后用一个心的工作进程来替代原进程,来让闲置的资源被释放。maxtasksperchild默认是None,意味着只要Pool存在工作进程就会一直存活。

context: 用在制定工作进程启动时的上下文,一般使用 multiprocessing.Pool() 或者一个context对象的Pool()方法来创建一个池,两种方法都适当的设置了context

注意:Pool对象的方法只可以被创建pool的进程所调用。

以上就是本篇文章所讲述的所有内容,这篇文章主要介绍了python进程池的相关知识,希望你能借助资料从而理解上述所说的内容。希望我在这片文章所讲述的内容能够对你有所帮助,让你学习python更加轻松。

更多相关知识,请访问php中文网Python教程栏目。

以上就是python进程池作用展示及实例解析的详细内容,更多请关注php中文网其它相关文章!

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

python的用途实例-python进程池作用展示及实例解析相关推荐

  1. Python开发基础--- 进程间通信、进程池、协程

    进程间通信 进程彼此之间互相隔离,要实现进程间通信(IPC),multiprocessing模块支持两种形式:队列和管道,这两种方式都是使用消息传递的. 进程队列queue 不同于线程queue,进程 ...

  2. 学习笔记(33):Python网络编程并发编程-进程池线程池

    立即学习:https://edu.csdn.net/course/play/24458/296451?utm_source=blogtoedu 进程池与线程池: 一般应用在网站上,进程池或线程池最大的 ...

  3. python主要用途-学习Python的三大主要用途

    如果你想学Python,或者你刚开始学习Python,那么你可能会问:"我能用Python做什么?"这个问题不好回答,因为Python用途太多了,以至于小编不知道如何回答,但是我可 ...

  4. 〖Python语法进阶篇④〗 - 进程池与进程锁

    万叶集

  5. python线程间数据共享_python 进程间数据共享multiProcess.Manger实现解析

    一.进程之间的数据共享 展望未来,基于消息传递的并发编程是大势所趋 即便是使用线程,推荐做法也是将程序设计为大量独立的线程集合,通过消息队列交换数据. 这样极大地减少了对使用锁定和其他同步手段的需求, ...

  6. python多线程队列和池_Python3 从零单排28_线程队列进程池线程池

    1.线程队列 线程队列有三种:先进先出,后进先出,按优先级进出,具体如下: 1 importqueue2 3 #先进先出 4 q = queue.Queue(3)5 6 q.put(1)7 q.put ...

  7. python manager 共享数据访问_python 进程间数据共享multiProcess.Manger实现解析

    一.进程之间的数据共享 展望未来,基于消息传递的并发编程是大势所趋 即便是使用线程,推荐做法也是将程序设计为大量独立的线程集合,通过消息队列交换数据. 这样极大地减少了对使用锁定和其他同步手段的需求, ...

  8. 想学python有什么用-python学来有什么用

    python的用途:Python它通常应用于各种领域,是一种通用语言,无论是从网站.游戏开发.机器人,人工智能,大数据,云计算或是一 些高科技的航天飞机控制都可以用到python语言. 那么pytho ...

  9. 并发编程——进程池与线程池

    一.简单介绍 在学习了多进程或多线程之后,我们可能会迫不及待地基于多进程或多线程做一些开发,然而毫无节制的开启进程或线程是十分危险的. 服务开启的进程数或线程数都会随着并发的客户端数目地增多而增多,这 ...

最新文章

  1. javascript运动系列第九篇——碰撞运动
  2. 中山市交通集团热备容灾项目成功案例
  3. LeetCode 252. Meeting Rooms
  4. 信息系统项目管理师-案例分析专题(一)案例简介、答题方法、要点笔记
  5. MSP432P401R TI Drivers 库函数学习笔记(七)I2C驱动OLED屏幕
  6. (五)springcloud微服务分布式云架构 - 云架构代码结构构建
  7. wex5部署教程到数据库
  8. 只做macd二次金叉_MACD指标的各种金叉、二次金叉都是买入信号吗?本文会给你答案...
  9. oracle存储过程实验报告总结,Oracle存储过程总结(一、基本应用)
  10. 计算机编译原理 张,计算机编译原理概念总结
  11. 产品经理如何做好需求挖掘
  12. mock.js那点事(上)
  13. 最新Axure激活码
  14. 基于C#的在线语音识别软件开发
  15. 物联网边缘-物联网准入或接入安全防护产品及解决方案
  16. Word未保存文档恢复
  17. BZOJ 2339[HNOI2011]卡农
  18. Postman 开发团队共享接口协作调试
  19. 对比极米Z6X Pro和RS Pro 2,极米H5值得入手吗?极米H5评测来了
  20. 关于“运放“这些知识点

热门文章

  1. BZOJ1433 [ZJOI2009]假期的宿舍 - 二分图匹配
  2. java内存问题排查及分析
  3. NHibernate之Could not initialize proxy - no Session Bug
  4. 为什么要做一个靠谱的人?
  5. Js跨域请求jquery的jsonp方式
  6. 值转换器IValueConverter
  7. [flex]报错,Resource Path Location Type 源路径条目“… Unknown Flex 问题
  8. 数据结构 python的书推荐-为什么程序员一定要学数据结构?数据结构书单推荐~...
  9. python和c先学哪个对于初中生来说-初中生想学编程,请问先学C语言好还是先学Python?...
  10. python创意编程比赛-关于举办2019年青岛市青少年创意编程与智能设计大赛的通知...