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 相关文章推荐
pip 错误unused-command-line-argument-hard-error-in-future解决办法
Jun 01 Python
Python Web框架Tornado运行和部署
Oct 19 Python
itchat和matplotlib的结合使用爬取微信信息的实例
Aug 25 Python
利用python求解物理学中的双弹簧质能系统详解
Sep 29 Python
Queue 实现生产者消费者模型(实例讲解)
Nov 13 Python
python 返回列表中某个值的索引方法
Nov 07 Python
python如何实现一个刷网页小程序
Nov 27 Python
selenium设置proxy、headers的方法(phantomjs、Chrome、Firefox)
Nov 29 Python
python利用多种方式来统计词频(单词个数)
May 27 Python
python实现将文件夹内的每张图片批量分割成多张
Jul 22 Python
python爬虫 爬取58同城上所有城市的租房信息详解
Jul 30 Python
五分钟学会怎么用Pygame做一个简单的贪吃蛇
Jan 06 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设计模式  Command(命令模式)
2011/06/17 PHP
PHP设计模式之原型设计模式原理与用法分析
2018/04/25 PHP
excel操作之Add Data to a Spreadsheet Cell
2007/06/12 Javascript
JavaScript面向对象之静态与非静态类
2010/02/03 Javascript
使用JavaScript检测Firefox浏览器是否启用了Firebug的代码
2010/12/28 Javascript
遨游,飞飞,IE,空中网 浏览器无提示关闭方法
2011/07/11 Javascript
如何使用jQuery Draggable和Droppable实现拖拽功能
2013/07/05 Javascript
js实现拉伸拖动iframe的具体代码
2013/08/03 Javascript
以JSON形式将JS中Array对象数组传至后台的方法
2014/01/06 Javascript
JS去除iframe滚动条的方法
2015/04/01 Javascript
js实现创建删除html元素小结
2015/09/30 Javascript
浅析Bootstrip的select控件绑定数据的问题
2016/05/10 Javascript
浅谈jquery中的each方法$.each、this.each、$.fn.each
2016/06/23 Javascript
关于json字符串与实体之间的严格验证代码
2016/11/10 Javascript
jQuery+ajax实现局部刷新的两种方法
2017/06/08 jQuery
jquery+css实现简单的图片轮播效果
2017/08/07 jQuery
详解bootstrap导航栏.nav与.navbar区别
2017/11/23 Javascript
详解js正则表达式验证时间格式xxxx-xx-xx形式
2018/02/09 Javascript
基于vue循环列表时点击跳转页面的方法
2018/08/31 Javascript
微信小程序获取用户openid的实现
2018/12/24 Javascript
在vue项目中使用Jquery-contextmenu插件的步骤讲解
2019/01/27 jQuery
javascript+HTML5 canvas绘制时钟功能示例
2019/05/15 Javascript
[16:04]DOTA2海涛带你玩炸弹 9月5日更新内容详解
2014/09/05 DOTA
Python 中的 else详解
2016/04/23 Python
Pycharm远程调试openstack的方法
2017/11/21 Python
Django contenttypes 框架详解(小结)
2018/08/13 Python
Python写一个基于MD5的文件监听程序
2019/03/11 Python
Python urllib3软件包的使用说明
2020/11/18 Python
HTML5添加禁止缩放功能
2017/11/03 HTML / CSS
FORZIERI澳大利亚站:全球顶级奢华配饰精品店
2016/12/31 全球购物
Vans荷兰官方网站:美国南加州的原创极限运动潮牌
2018/01/23 全球购物
奥地利领先的在线药房:SHOP APOTHEKE
2019/10/07 全球购物
好家长事迹材料
2014/01/23 职场文书
村长反四风问题个人对照检查材料
2014/09/21 职场文书
redis实现的四种常见限流策略
2021/06/18 Redis
前端框架ECharts dataset对数据可视化的高级管理
2022/12/24 Javascript