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矩阵的转置和逆转实例
Dec 12 Python
python 实现创建文件夹和创建日志文件的方法
Jul 07 Python
python tkinter实现彩球碰撞屏保
Jul 30 Python
Python列表原理与用法详解【创建、元素增加、删除、访问、计数、切片、遍历等】
Oct 30 Python
如何在python中实现随机选择
Nov 02 Python
Python 求数组局部最大值的实例
Nov 26 Python
基于TensorFlow常量、序列以及随机值生成实例
Jan 04 Python
tensorflow 实现打印pb模型的所有节点
Jan 23 Python
python实现飞机大战游戏(pygame版)
Oct 26 Python
浅谈ROC曲线的最佳阈值如何选取
Feb 28 Python
基于Python绘制美观动态圆环图、饼图
Jun 03 Python
Python jieba结巴分词原理及用法解析
Nov 05 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中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
2011/05/04 PHP
PHP使用适合阅读的格式显示文件大小的方法
2015/03/05 PHP
简单的php购物车代码
2020/06/05 PHP
在AngularJS中使用AJAX的方法
2015/06/17 Javascript
jQuery获取页面及个元素高度、宽度的总结——超实用
2015/07/28 Javascript
理解JavaScript中worker事件api
2015/12/25 Javascript
JavaScript数组方法大全(推荐)
2016/07/05 Javascript
js判断checkbox是否选中个数的方法(超简单)
2016/08/19 Javascript
BootStrap与validator 使用笔记(JAVA SpringMVC实现)
2016/09/21 Javascript
简单实现js轮播图效果
2017/07/14 Javascript
jQuery模拟爆炸倒计时功能实例代码
2017/08/21 jQuery
详解webpack + vue + node 打造单页面(入门篇)
2017/09/23 Javascript
jQuery实现鼠标移到某个对象时弹出显示层功能
2018/08/23 jQuery
vue中进入详情页记住滚动位置的方法(keep-alive)
2018/09/21 Javascript
KOA+egg.js集成kafka消息队列的示例
2018/11/09 Javascript
JS控制GIF图片的停止与显示
2019/10/24 Javascript
Vuex实现简单购物车
2021/01/10 Vue.js
[04:44]DOTA2西游记战队视频彩蛋流出 师徒开黑巧遇林书豪
2016/08/03 DOTA
[49:05]OG vs Newbee 2019DOTA2国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
给Python的Django框架下搭建的BLOG添加RSS功能的教程
2015/04/08 Python
详谈Python2.6和Python3.0中对除法操作的异同
2017/04/28 Python
python数字图像处理之骨架提取与分水岭算法
2018/04/27 Python
Python3.5面向对象编程图文与实例详解
2019/04/24 Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
2020/06/18 Python
Python getsizeof()和getsize()区分详解
2020/11/20 Python
移动web模拟客户端实现多方框输入密码效果【附代码】
2016/03/25 HTML / CSS
JDBC操作数据库的基本流程是什么
2014/10/28 面试题
工作睡觉检讨书
2014/02/25 职场文书
森林防火宣传标语
2014/06/27 职场文书
田径运动会通讯稿
2014/09/13 职场文书
企业开业庆典答谢词
2015/01/20 职场文书
班主任开场白
2015/06/01 职场文书
2015入党自传书范文
2015/06/26 职场文书
承诺书的内容有哪些,怎么写?
2019/06/21 职场文书
导游词之新疆尼雅遗址
2019/10/16 职场文书
pytorch 如何把图像数据集进行划分成train,test和val
2021/05/31 Python