我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python基础之如何使用multiprocessing模块

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python基础之如何使用multiprocessing模块

一、multiprocessing模块

multiprocessing包是Python中的多进程管理包。与threading.Thread类似,它可以使用multiprocessing.Proces 对象来创建一个进程。

该进程可以运行在Python程序内部编写的函数。该Process对象与Thread对象的用法相同,也start(),run()的方法。

此外multiprocessing包中也有Lock/Event/Semaphore/Condition类(这些对象可以像多线程那样,通过参数传递给各个进程),用以同步进程,其用法与threading包中的同名类一致。

所以,multiprocessing的很大一部份与threading使用同一套API,只不过换到了多进程的情境。接下来我们通过一个案例学习:


import time
import multiprocessing
 
def download () :
    print("开始下载文件...")
    time.sleep(1)
    print("完成下载文件...")
 
def upload() :
    print("开始上传文件...")
    time.sleep(1)
    print("完成上传文件...")
 
#download()
# upload()
#多进程与多线程的使用方式是差不多的
download_process = multiprocessing.Process(target=download)
upload_process = multiprocessing. Process(target=upload)
if _name_ == '_main_':
    #多进程必须要在 if _name_ == "_main_”里面
    download_process.start()
    upload_process.start ()
    #默认情况下,主进程代码运行完毕之后会等待子进程结束
    print('--主进程运行完了---')

上述代码是一个非常简单的程序,一旦运行这个程序,按照代码的执行顺序,download 函数执行完毕后才能执行upload 函数?如果可以让download和upload同时运行,显然执行这个程序的效率会大大提升。

要点:

  • 进程(Process)是资源分配的最小单位
  • 多进程是Python程序中实现多任务的一种方式,使用多进程可以大大提高程序的执行效率

二、进程的创建

  • 导入进程包

import multiprocessing

  • 通过进程类创建进程对象

进程对象= multiprocessing.Process()

  • 启动进程执行任务

进程对象.start()

通过进程类创建进程对象

进程对象=multiprocessing.Process(target=任务名)

三、进程的参数传递

带有参数的任务

进程执行带有参数的任务传参有两种方式:

  • 元组方式传参∶元组方式传参一定要和参数的顺序保持一致。
  • 字典方式传参:字典方式传参字典中的key一定要和参数名保持一致。

到此这篇关于Python基础之如何使用multiprocessing模块的文章就介绍到这了,更多相关multiprocessing模块的使用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python基础之如何使用multiprocessing模块

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python基础之如何使用multiprocessing模块

一、multiprocessing模块 multiprocessing包是Python中的多进程管理包。与threading.Thread类似,它可以使用multiprocessing.Proces 对象来创建一个进程。 该进程可以运行在P
2022-06-02

Python基础之模块怎么使用

这篇文章主要介绍“Python基础之模块怎么使用”,在日常操作中,相信很多人在Python基础之模块怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python基础之模块怎么使用”的疑惑有所帮助!接下来
2023-07-06

Python基础之hashlib模块详解

一、hashlib简介 1.什么叫hash: hash是一种算法(不同的hash算法只是复杂度不一样)(3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法
2022-06-02

Python基础之函数和模块

函数的基本使用函数的定义:把具有独立功能的代码块组织成一个小模块,在需要的时候调用。或者说,函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数的使用:1.定义函数;2.调用函数。函数的作用:能提高应用的模块性,和代码的重
2023-01-31

Python爬虫基础之requestes模块

一、爬虫的流程 开始学习爬虫,我们必须了解爬虫的流程框架。在我看来爬虫的流程大概就是三步,即不论我们爬取的是什么数据,总是可以把爬虫的流程归纳总结为这三步: 1.指定 url,可以简单的理解为指定要爬取的网址 2.发送请求。requests
2022-06-02

python之基础篇(八)——模块与包

防伪码:忘情公子著python中的模块  将代码量较大的程序分割成多个有组织的、彼此独立但又能互相交互的代码片段,这些自我包含的有组织的代码段就是模块。  模块在物理形式上表现为以.py结尾的代码文件:    一个文件被看作一个独立的模块,
2023-01-31

Python基础之Spyder如何使用

本篇内容主要讲解“Python基础之Spyder如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python基础之Spyder如何使用”吧!Spyder是什么Spyder是一个用于科学计算
2023-07-06

Python基础之模块的示例分析

这篇文章给大家分享的是有关Python基础之模块的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、什么是模块容器 -> 数据的封装函数 -> 语句的封装类 -> 方法和属性的封装模块 -> 模块就是程序
2023-06-15

Python基础之logging模块知识总结

目录前言一、日志级别二、basicConfig三、日志写文件四、traceback记录前言 logging模块是Python内置的标准模块,主要用于输出脚本运行日志,可以设置输出日志的等级、日志保存路径等。可以通过设置不同的日志等级,在 r
2022-06-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录