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

python多进程multiprocessing的原理和应用

短信预约 -IT技能 免费直播动态提醒
省份

北京

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

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

看不清楚,换张图片

免费获取短信验证码

python多进程multiprocessing的原理和应用

这篇文章主要介绍“python多进程multiprocessing的原理和应用”,在日常操作中,相信很多人在python多进程multiprocessing的原理和应用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python多进程multiprocessing的原理和应用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

multiprocessing多进程

概念

python多进程multiprocessing的原理和应用

创建多进程基本流程

python多进程multiprocessing的原理和应用

创建进程对象

python多进程multiprocessing的原理和应用

启动进程 回收进程

python多进程multiprocessing的原理和应用

代码:

import multiprocessing as mpfrom time import sleep# 进程执行函数def fun():    print("开始一个进程")    sleep(3)    print("进程结束")# 创建进程对象p = mp.Process(target = fun)p.start()   # 启动进程p.join()    # 回收进程

运行结果:

开始一个进程
进程结束
Process finished with exit code 0

1 、父子进程是并行执行的 子进程执行函数 父进程执行除子进程外内容:

import multiprocessing as mpfrom time import sleep# 进程执行函数def fun():    print("开始一个进程")    sleep(3)    print("进程结束")# 创建进程对象p = mp.Process(target = fun)    # 把fun函数作为独立子进程 其它函数由进程来执行p.start()   # 启动进程sleep(2)print("父进程执行内容")p.join()    # 回收进程print("===============")"""pid = os.forkif pid == 0    fun()    os._exit(0)else:    os.wait()"""

运行结果:

开始一个进程
父进程执行内容
进程结束

===============

子进程不能改变父进程中变量的值
代码:

import multiprocessing as mpfrom time import sleepa = 1# 进程执行函数def fun():    print("开始一个进程")    sleep(3)    global a    print("a=", a)    a = 1000    print("a=", a)    print("进程结束")# 创建进程对象p = mp.Process(target = fun)    # 把fun函数作为独立子进程 其它函数由进程来执行p.start()   # 启动进程sleep(2)print("父进程执行内容")p.join()    # 回收进程print("===============")print("a=", a)

运行结果:

开始一个进程
父进程执行内容
a= 1
a= 1000
进程结束
a= 1

创建多个进程
代码:

"""创建多个进程"""from multiprocessing import Processimport osfrom time import sleepdef fun1():    sleep(2)    print(os.getppid(), '--', os.getpid(), "吃饭")def fun2():    sleep(3)    print(os.getppid(), '--', os.getpid(), "睡觉")def fun3():    sleep(4)    print(os.getppid(), '--', os.getpid(), "学习")jobs =[]for th in [fun1, fun2, fun3]:    p = Process(target = th)    jobs.append(p)    p.start()for i in jobs:    i.join()

运行结果:

46013 – 46022 吃饭
46013 – 46023 睡觉
46013 – 46024 学习

含有参数的进程函数
代码:

from multiprocessing import Processfrom time import sleep# 含有参数的进程函数def worker(sec, name):    for i in range(3):        sleep(sec)        print("I'm %s"%name)        print("I'm working...")# p = Process(target = worker, args = (2, "Tom"))p = Process(target = worker, kwargs = {'name':'tom', 'sec': 2})p.start()p.join()

运行结果:

I'm tom
I'm working…
I'm tom
I'm working…
I'm tom
I'm working…

案例练习

python多进程multiprocessing的原理和应用

代码:

from multiprocessing import Processimport osfilename = './dace.jpg'size = os.path.getsize(filename)# 复制上半部分def up():    fr = open(filename, 'rb')    fw = open('bot,jpg', 'wb')    n = size//2    fw.write(fr.read(n))    fw.close()    fr.close()# 复制下半部分def down():    fr = open(filename, 'rb')    fw = open('bot,jpg', 'wb')    fr.seek(size//2.0)    fw.write(fr.read())    fw.close()    fr.close()p = Process(target = up)q = Process(target = down)p.start()q.start()p.join()q.join()

到此,关于“python多进程multiprocessing的原理和应用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

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

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

python多进程multiprocessing的原理和应用

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

下载Word文档

猜你喜欢

python多进程multiprocessing的原理和应用

这篇文章主要介绍“python多进程multiprocessing的原理和应用”,在日常操作中,相信很多人在python多进程multiprocessing的原理和应用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家
2023-06-20

Python多进程multiprocessing包有什么作用

这篇文章主要讲解了“Python多进程multiprocessing包有什么作用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python多进程multiprocessing包有什么作用”吧
2023-06-02

Python使用multiprocessing如何实现多进程

本文探讨了使用Pythonmultiprocessing模块实现多进程的方法,提供了一个示例来说明如何创建并启动进程。它还介绍了进程间通信机制,例如队列、管道和共享内存。多进程的优点包括并发性、隔离和可扩展性,但缺点包括开销、复杂性和调试困难。文中还提供了最佳实践,例如限制进程数量、使用进程池、仔细考虑IPC和使用异常处理。
Python使用multiprocessing如何实现多进程
2024-04-02

Python多进程库multiprocessing有什么作用

这篇文章主要讲解了“Python多进程库multiprocessing有什么作用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python多进程库multiprocessing有什么作用”吧
2023-06-15

Python多进程库multiprocessing中进程池Pool类的使用详解

问题起因 最近要将一个文本分割成好几个topic,每个topic设计一个regressor,各regressor是相互独立的,最后汇总所有topic的regressor得到总得预测结果。没错!类似bagging ensemble!只是我没有
2022-06-04

总结python多进程multiprocessing的相关知识

multiprocessing多进程 概念创建多进程基本流程创建进程对象启动进程 回收进程代码:import multiprocessing as mp from time import sleep# 进程执行函数 def fun():pr
2022-06-02

像线程一样管理进程的Python multiprocessing库

目录一、创建一个进程二、设置进程名三、守护进程四、join()五、强制结束进程六、进程退出状态码七、日志八、派生进程一、创建一个进程 要创建一个进程,最简单的方式是用一个目标函数实例化一个Process对象,然后与threading一样调用
2022-06-02

如何在python中使用multiprocessing实现多进程并行计算

如何在python中使用multiprocessing实现多进程并行计算?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python是什么意思Python是一种跨
2023-06-06

python多进程和多线程的实际用法

这篇文章主要讲解了“python多进程和多线程的实际用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python多进程和多线程的实际用法”吧!  写在前面  总所周知,unix/linux
2023-06-02

python中多进程和多线程的使用方法

这篇文章主要介绍了python中多进程和多线程的使用方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。进程和线程进程是系统进行资源分配的最小单位,线程是系统进行调度执行的最小
2023-06-14

python中的多进程处理

众所周知,python本身是单线程的,python中的线程处理是由python解释器分配时间片的;但在python 3.0中吸收了开源模块,开始支持系统原生的进程处理——multiprocessing.注意:这个模块的某些函数需要操作系统的
2023-01-31

Android中应用多进程的整理总结

前言 在计算机操作系统中,进程是进行资源分配和调度的基本单位。这对于基于Linux内核的Android系统也不例外。在Android的设计中,一个应用默认有一个(主)进程。但是我们通过配置可以实现一个应用对应多个进程。 本文将试图对于And
2022-06-06

用python3的多进程和协程处理MyS

本文介绍用python3的多进程 + 协程处理MySQL的数据,主要逻辑是拉取MySQL的数据,然后使用flashtext匹配关键字,在存回MySQL,代码如下(async_mysql.py):import timeimport async
2023-01-31

python 多进程和协程配合使用

有一批key已经写入到3个txt文件中,每一个txt文件有30万行记录。现在需要读取这些txt文件,判断key是否在数据仓库中。(redis或者mysql)为空的记录,需要写入到日志文件中!任务分工1. 使用多进程技术,每一个进程读取一个t
2023-01-31

Python metaclass的原理及应用

这篇文章主要介绍“Python metaclass的原理及应用”,在日常操作中,相信很多人在Python metaclass的原理及应用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python metacl
2023-06-02

Python中的进程池和线程池的适用场景和实现原理是什么?

Python中的进程池和线程池的适用场景和实现原理是什么?引言:在编写程序时,为了提高执行效率,经常会使用并发编程来同时执行多个任务。Python提供了进程池和线程池这两种用于并发处理任务的工具。本文将详细介绍进程池和线程池的适用场景和实现
2023-10-22

一文详解Python中多进程和进程池的使用方法

这篇文章将介绍Python中多进程和进程池的使用方法,并提供一些实用的案例供大家参考,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
2023-05-16

编程热搜

  • 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动态编译

目录