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 23 Python
python中的全局变量用法分析
Jun 09 Python
python OpenCV学习笔记之绘制直方图的方法
Feb 08 Python
Python基于whois模块简单识别网站域名及所有者的方法
Apr 23 Python
python学习之hook钩子的原理和使用
Oct 25 Python
python生成九宫格图片
Nov 19 Python
python实现二维数组的对角线遍历
Mar 02 Python
python保存字典和读取字典的实例代码
Jul 07 Python
python Pandas如何对数据集随机抽样
Jul 29 Python
总结Python常用的魔法方法
May 25 Python
Python函数中apply、map、applymap的区别
Nov 27 Python
Django框架模板用法详解
Jun 10 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调用KyotoTycoon简单实例
2015/04/02 PHP
PHP程序中使用adodb连接不同数据库的代码实例
2015/12/19 PHP
PHP中define() 与 const定义常量的区别详解
2019/06/25 PHP
PHP使用 Pear 进行安装和卸载包的方法详解
2019/07/08 PHP
Gird事件机制初级读本
2007/03/10 Javascript
Ajax执行顺序流程及回调问题分析
2012/12/10 Javascript
jQuery实现新消息闪烁标题提示的方法
2015/03/11 Javascript
基于javascript实现简单计算器功能
2016/01/03 Javascript
ionic中列表项增加和删除的实现方法
2017/01/22 Javascript
使用Bootstrap打造特色进度条效果
2017/05/02 Javascript
vue-cli如何添加less 以及sass
2017/07/06 Javascript
20170918 前端开发周报之JS前端开发必看
2017/09/18 Javascript
详解vue2.0监听属性的使用心得及搭配计算属性的使用
2018/07/18 Javascript
layui 关闭open弹出框 刷新table表格页面的方法
2019/09/16 Javascript
微信小程序云函数添加数据到数据库的方法
2020/03/04 Javascript
python BeautifulSoup使用方法详解
2013/11/21 Python
python基础教程之元组操作使用详解
2014/03/25 Python
从零学python系列之浅谈pickle模块封装和拆封数据对象的方法
2014/05/23 Python
使用Python编写vim插件的简单示例
2015/04/17 Python
对pandas中iloc,loc取数据差别及按条件取值的方法详解
2018/11/06 Python
pycharm+PyQt5+python最新开发环境配置(踩坑)
2019/02/11 Python
pymongo中聚合查询的使用方法
2019/03/22 Python
Django Form 实时从数据库中获取数据的操作方法
2019/07/25 Python
python一些性能分析的技巧
2020/08/30 Python
Reebok俄罗斯官方网上商店:购买锐步运动服装和鞋子
2016/09/26 全球购物
欧洲第一中国智能手机和平板电脑网上商店:CECT-SHOP
2018/01/08 全球购物
Linux开机引导的步骤是什么
2014/02/26 面试题
关爱留守儿童倡议书
2014/04/15 职场文书
大学活动总结格式
2014/04/29 职场文书
新学期国旗下演讲稿
2014/05/08 职场文书
执法作风整顿剖析材料
2014/10/11 职场文书
2014年仓库保管员工作总结
2014/12/03 职场文书
学生党员检讨书范文
2014/12/27 职场文书
2015年城市管理工作总结
2015/05/23 职场文书
幸福终点站观后感
2015/06/04 职场文书
进行数据处理的6个 Python 代码块分享
2022/04/06 Python