新闻详情

新闻详情

首页 / 资讯中心 / 详情

【Python程序开发系列】再谈一谈多进程如何完成多任务(案例)

发布时间:2026/9/7 21:27:31来源:尧图网络
【Python程序开发系列】再谈一谈多进程如何完成多任务(案例)
这是我的第473篇原创文章。一、引言1、多进程完成多任务① 导入进程包 import multiprocessing ② 通过进程类创建进程对象 进程对象 multiprocessing.Process() ③ 启动进程执行任务 进程对象.start()2、通过进程类创建进程对象进程对象 multiprocessing.Process([group [, target任务名 [, name]]])参数说明参数名说明执行的目标任务名这里指的是函数名(方法名)name进程名一般不用设置group进程组目前只能使用None二、实现过程2.1 主进程与子进程案例结果解读有一个名为demo0.py的事物 , 此事物算作是一个程度相当简单的程序也可称脚本。存在这么一种情况 , 一旦运行了demo0.py这么一个程序 就是具体的demo0.py , 便会执行mian函数此时主进程方面呈现为2620。随后 , 以一种遵照代码规定执行顺序的方式前进 , 只有等到work1函数执行结束之后 , 才有前提能够去执行work2函数。关于这两个函数 , 它们均处于main函数的进程范围之内。案例结果解读定义了两个函数, 其中一个函数是music() , 另一个函数是() , 这两个函数分别用于在进程里执行听音乐以及编写代码的任务。在函数当中运用了os.() 以及os.() 来获取当前进程和父进程的ID。采用了.( )函数去构建两个进程, 进程运行music( )函数, 并且进程运行( )函数。于主进程里头, 运用.start()方法去开启两个子进程的执行, 对运行结果展开观察之际能够发觉, music()函数以及()函数的任务是在两个子进程之中以并行的方式去施行的。2.2 进程间不共享全局变量事实上, 去创建一个子进程这般行为来讲乃是将主进程所含有的资源予以拷贝, 进而产生出了一个全新的进程, 在此处, 主进程与子进程两者之间是相互独立的状态。存在三个进程, 每个进程各自所操作的均是自身进程内部的全局变量, 不会对别的进程里面的全局变量造成影响, 所以进程之间不存在共享全局变量的情况, 仅仅是进程之间全局变量的名字是相同的罢了, 然而所操作的并非是同一个进程里边的全局变量。为了确保主进程于所有子进程均执行完毕之后才终结设有加入它的方法, 反倒不然的话主进程会在子进程尚未执行完竣之际就告终结了。在多进程编程里面, 子进程的执行呈现异步状态, 主进程跟子进程是并发执行的情形, 要是主进程没等子进程执行完就结束了, 那子进程有可能被强制终止, 致使程序出现异常或者数据丢失这类问题。所以, 在启动子进程以后, 应当调用join()方法去等待子进程执行完再结束主进程, 以此保障程序的正常运行。join()方法会让主进程阻塞, 直到所有子进程都执行完才会接着执行主进程。示例结果2.3 控制子进程的运行和终止(保证主进程退出子进程销毁)案例结果因子进程与主进程并行执行, 故主进程延迟1秒后, 子进程仍于执行工作函数里的任务。所以, 输出的信息或会在子进程输出信息之前得以出现, 又或会继子进程输出信息之后才呈现, 具体取决于操作系统的调度策略。解决方案一设置守护进程案例结果解读因为子进程属于守护进程, 跟着主进程的退出, 子进程就会被销毁, 而不会再去执行存在于work函数里边的代码。解决方案二销毁子进程案例结果解读令子进程直接进行销毁操作, 此操作意味着终止其执行运行流程, 当主程序进程退出之前之时辰时刻, 将全部所有的子进程直接予以销毁处理就行得通了。作者有着读研时发表6篇与SCI数据算法有关论文的经历, 当下正在某研究院做和数据算法相关的研究工作, 会依据自身科研实践经历, 持续去分享涵盖数据分析、特征工程、机器学习、深度学习、人工智能整套基础知识与案例, 可关注gzh: 数据杂坛, 以此来获取数据以及源码。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

奥拉星陶埙BOSS打法全解析:机制应对与阵容搭配攻略 2026/9/7 22:12:45

奥拉星陶埙BOSS打法全解析:机制应对与阵容搭配攻略

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
AI助力学术论文开题:选题推荐与文献精读实战 2026/9/7 22:12:45

AI助力学术论文开题:选题推荐与文献精读实战

1. 论文开题阶段的痛点与破局思路 第一次接触学术论文写作的研究生们,往往会在开题阶段陷入迷茫。我指导过上百位学生的开题报告,发现他们普遍面临三个核心困境: 首先是选题方向的模糊性。很多学生在确定研究方向时,要么选题过于…

阅读更多 →
RFID技术在食品加工产线改造中的应用与优化 2026/9/7 22:12:45

RFID技术在食品加工产线改造中的应用与优化

1. 项目背景与行业痛点 在传统食品加工行业,特别是菠萝罐头这类需要多工序处理的生产线上,一直存在几个核心痛点:原料溯源难、工序衔接效率低、人工记录易出错、质量管控不透明。以菠萝罐头为例,从原料进厂到成品出库要经历清洗、…

阅读更多 →
Java字符串处理全解:String、StringBuilder、StringBuffer、StringJoiner深度对比 2026/9/7 22:12:44

Java字符串处理全解:String、StringBuilder、StringBuffer、StringJoiner深度对比

1. 先看本质:String为什么是Java中最特殊的类搞Java的人,几乎每天都会碰到String。但很多工作了三五年的同学,被问一句“String为什么设计成不可变的”,依然答不到点子上。这篇文章我把String、StringBuilder、StringBuffer、Stri…

阅读更多 →
电商系统商品品牌功能设计与优化实践 2026/9/7 22:12:43

电商系统商品品牌功能设计与优化实践

1. 商品品牌功能的设计初衷与价值定位 在电商系统开发中,商品品牌功能往往是最容易被忽视却至关重要的基础模块。我经历过三个大型电商平台从0到1的搭建过程,发现品牌功能的设计质量直接影响着后续商品管理效率、营销活动精准度和用户体验一致性。 品牌…

阅读更多 →
C++临时对象与prvalue/xvalue深度解析 2026/9/7 22:09:42

C++临时对象与prvalue/xvalue深度解析

1. 临时对象与prvalue/xvalue关系解析在C中,临时对象(Temporary Objects)是编译器在表达式求值过程中自动创建的未命名对象。它们通常出现在函数返回值、类型转换和某些运算过程中。理解临时对象的生命周期及其与值类别(value cat…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞