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输出一个杨辉三角的例子
Jun 13 Python
对于Python的框架中一些会话程序的管理
Apr 20 Python
Python3.x版本中新的字符串格式化方法
Apr 24 Python
Python base64编码解码实例
Jun 21 Python
python 爬虫出现403禁止访问错误详解
Mar 11 Python
python导入csv文件出现SyntaxError问题分析
Dec 15 Python
python thrift搭建服务端和客户端测试程序
Jan 17 Python
python获取当前目录路径和上级路径的实例
Apr 26 Python
Flask使用Pyecharts在单个页面展示多个图表的方法
Aug 05 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
Jun 02 Python
解决pycharm不能自动保存在远程linux中的问题
Feb 06 Python
python通配符之glob模块的使用详解
Apr 24 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
window+nginx+php环境配置 附配置搭配说明
2010/12/29 PHP
php使用指定字符列表生成随机字符串的方法
2015/04/18 PHP
正确的PHP匹配UTF-8中文的正则表达式
2015/05/13 PHP
php将一维数组转换为每3个连续值组成的二维数组
2016/05/06 PHP
javaScript arguments 对象使用介绍
2013/10/18 Javascript
js的延迟执行问题分析
2014/06/23 Javascript
浅析JS运动
2015/12/28 Javascript
基于jQuery实现二级下拉菜单效果
2016/02/01 Javascript
Bootstrap每天必学之折叠(Collapse)插件
2016/04/25 Javascript
JavaScript函数柯里化详解
2016/04/29 Javascript
jquery easyui datagrid实现增加,修改,删除方法总结
2016/05/25 Javascript
Vue实现选择城市功能
2017/05/27 Javascript
老生常谈ES6中的类
2017/07/31 Javascript
11个教程中不常被提及的JavaScript小技巧(推荐)
2019/04/17 Javascript
Vue自定义全局弹窗组件操作
2020/08/11 Javascript
Javascript实现贪吃蛇小游戏(含详细注释)
2020/10/23 Javascript
[36:13]Mineski vs iG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[30:00]完美世界DOTA2联赛PWL S2 Rebirth vs LBZS 第二场 11.28
2020/12/01 DOTA
python中异常报错处理方法汇总
2016/11/20 Python
Python基于更相减损术实现求解最大公约数的方法
2018/04/04 Python
Python处理PDF与CDF实例
2020/02/26 Python
Python实现图片指定位置加图片水印(附Pyinstaller打包exe)
2021/03/04 Python
html5 viewport使用方法示例详解
2013/12/02 HTML / CSS
怎样实现H5+CSS3手指滑动切换图片的示例代码
2019/05/05 HTML / CSS
草莓网中国:StrawberryNet中国
2020/08/17 全球购物
如何在Cookie里面保存Unicode和国际化字符
2013/05/25 面试题
Java的类与C++的类有什么不同
2014/01/18 面试题
《谁的本领大》教后反思
2014/04/25 职场文书
法院授权委托书范文
2014/08/02 职场文书
开展创先争优活动总结
2014/08/28 职场文书
医院2014国庆节活动策划方案
2014/09/21 职场文书
2014年行政执法工作总结
2014/12/11 职场文书
Vue Element UI自定义描述列表组件
2021/05/18 Vue.js
一文弄懂MySQL索引创建原则
2022/02/28 MySQL
剑指Offer之Java算法习题精讲二叉树专项训练
2022/03/21 Java/Android
MySQL数据库 安全管理
2022/05/06 MySQL