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合并文本文件示例
Feb 07 Python
python 编程之twisted详解及简单实例
Jan 28 Python
mac下pycharm设置python版本的图文教程
Jun 13 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
Jul 27 Python
python配置grpc环境
Jan 01 Python
Python装饰器语法糖
Jan 02 Python
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
Sep 11 Python
python 默认参数相关知识详解
Sep 18 Python
Python queue队列原理与应用案例分析
Sep 27 Python
深入了解Python装饰器的高级用法
Aug 13 Python
python基于pexpect库自动获取日志信息
Feb 01 Python
python 实现两个变量值进行交换的n种操作
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 VS ASP
2006/10/09 PHP
php ci框架中加载css和js文件失败的解决方法
2014/03/03 PHP
支付宝支付开发――当面付条码支付和扫码支付实例
2016/11/04 PHP
JavaScript面向对象程序设计三 原型模式(上)
2011/12/21 Javascript
js解析与序列化json数据(三)json的解析探讨
2013/02/01 Javascript
jQuery左右滚动支持图片放大缩略图图片轮播代码分享
2015/08/26 Javascript
jquery实现点击弹出可放大居中及关闭的对话框(附demo源码下载)
2016/05/10 Javascript
js小数计算小数点后显示多位小数的实现方法
2016/05/30 Javascript
全面解析JavaScript里的循环方法之forEach,for-in,for-of
2020/04/20 Javascript
JavaScript简单实现弹出拖拽窗口(一)
2016/06/17 Javascript
Vue + Webpack + Vue-loader学习教程之相关配置篇
2017/03/14 Javascript
Bootstrap表单制作代码
2017/03/17 Javascript
JavaScript 程序错误Cannot use 'in' operator to search的解决方法
2017/07/10 Javascript
js实现首屏延迟加载实现方法 js实现多屏单张图片延迟加载效果
2017/07/17 Javascript
实现div滚动条默认最底部以及默认最右边的示例代码
2017/11/15 Javascript
解决使用Vue.js显示数据的时,页面闪现原始代码的问题
2018/02/11 Javascript
jQuery实现模糊查询的方法分析
2018/05/10 jQuery
详解node.js的http模块实例演示
2018/07/12 Javascript
JS使用Chrome浏览器实现调试线上代码
2020/07/23 Javascript
Jquery 获取相同NAME 或者id删除行操作
2020/08/24 jQuery
python在linux系统下获取系统内存使用情况的方法
2015/05/11 Python
python统计文本字符串里单词出现频率的方法
2015/05/26 Python
基于asyncio 异步协程框架实现收集B站直播弹幕
2016/09/11 Python
Python中你应该知道的一些内置函数
2017/03/31 Python
python实现图像识别功能
2018/01/29 Python
Python安装模块的常见问题及解决方法
2018/02/05 Python
Python Pywavelet 小波阈值实例
2019/01/09 Python
python切片(获取一个子列表(数组))详解
2019/08/09 Python
Python Django 添加首页尾页上一页下一页代码实例
2019/08/21 Python
利用python读取YUV文件 转RGB 8bit/10bit通用
2019/12/09 Python
python连接打印机实现打印文档、图片、pdf文件等功能
2020/02/07 Python
Python 处理日期时间的Arrow库使用
2020/08/18 Python
法人身份证明书
2014/10/08 职场文书
用python自动生成日历
2021/04/24 Python
Python集合的基础操作
2021/11/01 Python
Python爬取奶茶店数据分析哪家最好喝以及性价比
2022/09/23 Python