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的Django框架中的中间件
Jul 24 Python
Python使用设计模式中的责任链模式与迭代器模式的示例
Mar 02 Python
Python实现多线程HTTP下载器示例
Feb 11 Python
用python写个自动SSH登录远程服务器的小工具(实例)
Jun 17 Python
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
Apr 24 Python
python url 参数修改方法
Dec 26 Python
python使用knn实现特征向量分类
Dec 26 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
Jun 21 Python
简单了解python 邮件模块的使用方法
Jul 24 Python
Python中函数的返回值示例浅析
Aug 28 Python
keras做CNN的训练误差loss的下降操作
Jun 22 Python
如何用python爬取微博热搜数据并保存
Feb 20 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 数组的一个悲剧?
2011/05/11 PHP
请离开include_once和require_once
2013/07/18 PHP
Php中使用Select 查询语句的实例
2014/02/19 PHP
php中的四舍五入函数代码(floor函数、ceil函数、round与intval)
2014/07/14 PHP
WordPress开发中用于标题显示的相关函数使用解析
2016/01/07 PHP
PHP封装返回Ajax字符串和JSON数组的方法
2017/02/17 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
2019/10/09 PHP
javascript while语句和do while语句的区别分析
2007/12/08 Javascript
Chrome中JSON.parse的特殊实现
2011/01/12 Javascript
Extjs407 getValue()和getRawValue()区别介绍
2013/05/21 Javascript
Js操作Select大全(取值、设置选中等等)
2013/10/29 Javascript
js获取当月最后一天实例代码
2013/11/19 Javascript
jquery.validate使用时遇到的问题
2015/05/25 Javascript
一览画面点击复选框后获取多个id值的方法
2016/05/30 Javascript
BootStrap实现邮件列表的分页和模态框添加邮件的功能
2016/10/13 Javascript
聊聊Vue.js的template编译的问题
2017/10/09 Javascript
vue2实现可复用的轮播图carousel组件详解
2017/11/27 Javascript
vue 中动态绑定class 和 style的方法代码详解
2018/06/01 Javascript
jquery向后台提交数组的代码分析
2020/02/20 jQuery
uni-app使用countdown插件实现倒计时
2020/11/01 Javascript
[07:09]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant 选手采访
2021/03/11 DOTA
python如何把嵌套列表转变成普通列表
2018/03/20 Python
django基于restframework的CBV封装详解
2019/08/08 Python
Django Form and ModelForm的区别与使用
2019/12/06 Python
Python图像处理库PIL的ImageDraw模块介绍详解
2020/02/26 Python
python爬虫今日热榜数据到txt文件的源码
2021/02/23 Python
详解CSS3选择器的使用方法汇总
2015/11/24 HTML / CSS
CSS3改变浏览器滚动条样式
2019/01/04 HTML / CSS
德国童装购物网站:NICKI´S.com
2018/04/20 全球购物
What is view? why do we have view?
2012/06/22 面试题
财务管理专业推荐信
2013/11/19 职场文书
讲文明树新风演讲稿
2014/05/12 职场文书
五水共治捐款倡议书
2014/05/14 职场文书
幼儿园保育员责任书
2014/07/22 职场文书
SQL Server数据定义——模式与基本表操作
2021/04/05 SQL Server
SQL基础的查询语句
2021/11/11 MySQL