Python进程Multiprocessing模块原理解析


Posted in Python onFebruary 28, 2020

先看看下面的几个方法:

  • star() 方法启动进程,
  • join() 方法实现进程间的同步,等待所有进程退出。
  • close() 用来阻止多余的进程涌入进程池 Pool 造成进程阻塞。

参数:

target 是函数名字,需要调用的函数

args 函数需要的参数,以 tuple 的形式传入

用法:

multiprocessing.Process(group=None, target=None, name=None, args=(), kwargs={}, *, daemon=None)

写一个的例子:

from multiprocessing import Pool
import os,time


def pr(str):
  print("The " + str + " is %s" %(os.getpid()))
  time.sleep(1)
  print("The " + str + " is close")


if __name__ == "__main__":

  print('-------------------------------')
  print("the current pid: "+ str(os.getpid()))
  # 默认为自己电脑的核数
  p = Pool(2)
  for i in range(5):
    p.apply_async(pr,args=('xdxd',))
  p.close()
  p.join()
  print("----------close-----------------")

通过结果可以看出,是2个进程同时启动,同时启动的进程数与pool中设置的数量和自己电脑的核数有关

结果:

-------------------------------
the current pid: 9562
The xdxd is 9563
The xdxd is 9564
The xdxd is close
The xdxd is close
The xdxd is 9563
The xdxd is 9564
The xdxd is close
The xdxd is close
The xdxd is 9563
The xdxd is close
----------close-----------------

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python引用DLL文件的方法
May 11 Python
python 连接sqlite及简单操作
Jun 30 Python
tensorflow建立一个简单的神经网络的方法
Feb 10 Python
使用pandas批量处理矢量化字符串的实例讲解
Jul 10 Python
Python切片操作深入详解
Jul 27 Python
pandas 空的dataframe 插入列名的示例
Oct 30 Python
python多线程高级锁condition简单用法示例
Nov 07 Python
Python语言异常处理测试过程解析
Jan 08 Python
pip安装tensorflow的坑的解决
Apr 19 Python
详解Python 循环嵌套
Jul 09 Python
详解Python遍历列表时删除元素的正确做法
Jan 07 Python
Numpy ndarray 多维数组对象的使用
Feb 10 Python
python 实现多维数组(array)排序
Feb 28 #Python
python对数组进行排序,并输出排序后对应的索引值方式
Feb 28 #Python
Python使用Socket实现简单聊天程序
Feb 28 #Python
在python3中使用shuffle函数要注意的地方
Feb 28 #Python
Python对称的二叉树多种思路实现方法
Feb 28 #Python
pycharm如何实现跨目录调用文件
Feb 28 #Python
python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例
Feb 28 #Python
You might like
PHP __autoload()方法真的影响性能吗?
2012/03/30 PHP
dedecms中使用php语句指南
2014/11/13 PHP
PHP计算当前坐标3公里内4个角落的最大最小经纬度实例
2016/02/26 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
2017/06/12 PHP
php利用云片网实现短信验证码功能的示例代码
2017/11/18 PHP
php使用socket调用http和smtp协议实例小结
2019/07/26 PHP
调试php程序的简单步骤
2019/10/04 PHP
PHP设计模式之组合模式定义与应用示例
2020/02/01 PHP
Javascript中Eval函数的使用
2010/03/23 Javascript
Javascript 检测键盘按键信息及键码值对应介绍
2013/01/03 Javascript
没有document.getElementByName方法
2013/08/19 Javascript
js对列表中第一个值处理与jsp页面对列表中第一个值处理的区别详解
2013/11/05 Javascript
原生JavaScript实现瀑布流布局
2020/06/28 Javascript
JavaScript中定义类的方式详解
2016/01/07 Javascript
jQuery+canvas实现简单的球体斜抛及颜色动态变换效果
2016/01/28 Javascript
JQuery点击事件回到页面顶部效果的实现代码
2016/05/24 Javascript
BootStrap入门教程(一)之可视化布局
2016/09/19 Javascript
JavaScript正则表达式exec/g实现多次循环用法示例
2017/01/17 Javascript
详解JS数组Reduce()方法详解及高级技巧
2017/08/18 Javascript
node.js的exports、module.exports与ES6的export、export default深入详解
2017/10/26 Javascript
javascript按顺序加载运行js方法
2017/12/01 Javascript
在vue中实现给每个页面顶部设置title
2020/07/29 Javascript
html5以及jQuery实现本地图片上传前的预览代码实例讲解
2021/03/01 jQuery
详细解析Python当中的数据类型和变量
2015/04/25 Python
在Python 3中实现类型检查器的简单方法
2015/07/03 Python
使用paramiko远程执行命令、下发文件的实例
2017/10/01 Python
PyQt中使用QtSql连接MySql数据库的方法
2020/07/28 Python
python 基于selenium实现鼠标拖拽功能
2020/12/24 Python
纯CSS3大转盘抽奖示例代码(响应式、可配置)
2017/01/13 HTML / CSS
英国领先的男装设计师服装独立零售商:Repertoire Fashion
2020/10/19 全球购物
厂长助理岗位职责
2013/12/27 职场文书
食品安全汇报材料
2014/08/18 职场文书
党员查摆四风问题思想汇报
2014/10/25 职场文书
2015年上半年信访工作总结
2015/03/30 职场文书
中秋联欢会主持词
2015/07/04 职场文书
党务工作者主要事迹材料
2015/11/03 职场文书