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实现一个简单的能够发送带附件的邮件程序的教程
Apr 08 Python
详解Python中的循环语句的用法
Apr 09 Python
Python中列表、字典、元组数据结构的简单学习笔记
Mar 20 Python
python使用Matplotlib绘制分段函数
Sep 25 Python
Linux 修改Python命令的方法示例
Dec 03 Python
Python父目录、子目录的相互调用方法
Feb 16 Python
python实现ip地址查询经纬度定位详解
Aug 30 Python
python智联招聘爬虫并导入到excel代码实例
Sep 09 Python
Python函数中的可变长参数详解
Sep 12 Python
Python自动创建Excel并获取内容
Sep 16 Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
Sep 23 Python
Python标准库之typing的用法(类型标注)
Jun 02 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中static关键字原理的学习研究分析
2011/07/18 PHP
你可能不知道PHP get_meta_tags()函数
2014/05/12 PHP
php实现根据url自动生成缩略图的方法
2014/09/23 PHP
PHP引用的调用方法分析
2016/04/25 PHP
php 使用html5 XHR2实现上传文件与进度显示功能示例
2020/03/03 PHP
js类中获取外部函数名的方法与代码
2007/09/12 Javascript
jquery将一个表单序列化为一个对象的方法
2014/01/03 Javascript
js如何获取兄弟、父类等节点
2014/01/06 Javascript
Jquery解析Json格式数据过程代码
2014/10/17 Javascript
Jquery实现遮罩层的方法
2015/06/08 Javascript
AngularJS入门教程之AngularJS模型
2016/04/18 Javascript
JS正则表达式验证中文字符
2017/05/08 Javascript
Node.js文件编码格式的转换的方法
2018/04/27 Javascript
在ES5与ES6环境下处理函数默认参数的实现方法
2018/05/13 Javascript
Vue实现双向绑定的原理以及响应式数据的方法
2018/07/02 Javascript
微信小程序实现省市区三级地址选择
2020/06/21 Javascript
简单两步使用node发送qq邮件的方法
2019/03/01 Javascript
Vue自定义多选组件使用详解
2020/09/08 Javascript
[04:56]经典回顾:前Ehome 与 前LGD
2015/02/26 DOTA
用Python编程实现语音控制电脑
2014/04/01 Python
Python之PyUnit单元测试实例
2014/10/11 Python
Python 常用的安装Module方式汇总
2017/05/06 Python
Python-OpenCV基本操作方法详解
2018/04/02 Python
python游戏开发之视频转彩色字符动画
2019/04/26 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
2020/01/14 Python
使用豆瓣源来安装python中的第三方库方法
2021/01/26 Python
草莓网美国官网:Strawberrynet USA
2016/12/11 全球购物
公司年会晚宴演讲稿
2014/01/06 职场文书
创业计划书撰写原则
2014/01/25 职场文书
服务行业演讲稿
2014/09/02 职场文书
公安纪律作风整顿剖析材料
2014/10/10 职场文书
结婚保证书(三从四德)
2015/02/26 职场文书
生日宴会家属答谢词
2015/09/29 职场文书
2015年学校消防安全工作总结
2015/10/14 职场文书
《这片土地是神圣的》教学反思
2016/02/16 职场文书
【TED出品】天梯非主流开心游1700 划水骑士
2022/03/31 魔兽争霸