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常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
Aug 25 Python
详解Python中 __get__和__getattr__和__getattribute__的区别
Jun 16 Python
Python中operator模块的操作符使用示例总结
Jun 28 Python
python+opencv实现霍夫变换检测直线
Oct 23 Python
Django利用cookie保存用户登录信息的简单实现方法
May 27 Python
关于Python作用域自学总结
Jun 10 Python
python/Matplotlib绘制复变函数图像教程
Nov 21 Python
Python telnet登陆功能实现代码
Apr 16 Python
Python闭包装饰器使用方法汇总
Jun 29 Python
python中的django是做什么的
Jul 31 Python
详解matplotlib绘图样式(style)初探
Feb 03 Python
python自然语言处理之字典树知识总结
Apr 25 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 中使用随机数的三个步骤
2006/10/09 PHP
常用的php对象类型判断
2008/08/27 PHP
php在服务器执行exec命令失败的解决方法
2012/03/03 PHP
php实现利用phpexcel导出数据
2013/08/24 PHP
推荐一本PHP程序猿都应该拜读的书
2014/12/31 PHP
php遍历替换目录下文件指定内容的方法
2016/11/10 PHP
详解CSS样式中的 !important * _ 符号
2021/03/09 HTML / CSS
Jquery实现弹出层分享微博插件具备动画效果
2013/04/03 Javascript
当鼠标移动到图片上时跟随鼠标显示放大的图片效果
2013/06/06 Javascript
JS+CSS实现Div弹出窗口同时背景变暗的方法
2015/03/04 Javascript
jQuery插件实现控制网页元素动态居中显示
2015/03/24 Javascript
JavaScript判断表单中多选框checkbox选中个数的方法
2015/08/17 Javascript
微信小程序 WXDropDownMenu组件详解及实例代码
2016/10/24 Javascript
bootstrap table 数据表格行内修改的实现代码
2017/02/13 Javascript
Bootstrap BootstrapDialog使用详解
2017/02/17 Javascript
JavaScript使用ZeroClipboard操作剪切板
2017/05/10 Javascript
js学使用setTimeout实现轮循动画
2017/07/17 Javascript
Angularjs中date过滤器失效的问题及解决方法
2018/07/06 Javascript
vue+vue-router转场动画的实例代码
2018/09/01 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
2020/06/06 jQuery
Python生成随机数组的方法小结
2017/04/15 Python
Python实现将16进制字符串转化为ascii字符的方法分析
2017/07/21 Python
python3.5基于TCP实现文件传输
2020/03/20 Python
浅谈python3.x pool.map()方法的实质
2019/01/16 Python
使用Python实现跳帧截取视频帧
2019/05/31 Python
Python函数参数类型及排序原理总结
2019/12/19 Python
Python 实现数组相减示例
2019/12/27 Python
pytorch 实现查看网络中的参数
2020/01/06 Python
Python编程快速上手——选择性拷贝操作案例分析
2020/02/28 Python
Python 发送邮件方法总结
2020/08/10 Python
使用canvas一步步实现图片打码功能的方法
2019/06/17 HTML / CSS
描述RIP和OSPF区别以及特点
2015/01/17 面试题
小学庆六一活动方案
2014/02/28 职场文书
开业典礼主持词
2014/03/21 职场文书
2015小学师德工作总结
2015/07/21 职场文书
公司员工宿舍管理制度
2015/08/03 职场文书