python3实现多进程示例代码

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

作者知道python3代码实现多进程的方式主要有三种:fork()函数muliprocessing模块进程池

fork()函数
import os
pid = os.fork()
"""
使用fork()创建子进程,会在父进程中返回子进程的pid,在子进程中返回0
"""
if pid < 0:
	print('子进程创建失败')
elif pid == 0:
	print('这是子进程')
else:
	print('这是父进程')
print('进程运行结束')
muliprocessing模块
from multiprocessing import Process
"""
创建子进程:将子进程中需要执行的时间封装为函数,将这个函数传给Process
"""
def func(name,age):
	print('{}的年龄是{}'.format(name,age))
p = Process(target=func,kwargs={'name':'testname', 'age':18})
p.start() #子进程开始运行
p.join()	#阻塞等待子进程结束,回收子进程
"""
muliprocessing创建多进程
"""
def func(name,age):
	print('{}的年龄是{}'.format(name,age))
process_list = []
for i in range(10):
	p = Process(target=func,kwargs={'name':'testname', 'age':18})
	process_list.append(p)
	p.start() 
for process_child in process_list:
	process_child.join()
进程池创建多个子进程
"""
由于频繁创建和撤销进程消耗资源较大,
所以引进进程池,将各项需求作为事件传入进程池来创建子进程,
当子进程结束后,不会回收子进程,只是终止事件,避免频繁创建和撤销子进程,减少资源消耗
"""
from multiprocessing import Pool
def func_test(num):
	print('这是第{}个事件'.format(num))
p = Pool() #创建进程池对象
for i in range(10):
	p.apply_async(func=func_test, kwds={'num': i})
p.close() #关闭进程池,事件不能加入进程池中
p.join() #回收进程池


Python多进程讲解(附实例) Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。 阅读详情

相关推荐

python3多进程(使用multiprocessing模块)

python3python3多进程(使用multiprocessing模块)1.背景1.1 博客内容:1.2 博客目标:2.multiprocessing.Process2.1 Process常用的方法和属性3.代码4.总结 1.背景 python版本号: import sys print(sys.version) #3.6.8 |Anaconda, Inc.| (default, Feb 21 2019, 18:30:04) [MSC v.1916 64 bit (AMD64)] 平台window

jn10010537的博客 692

Python3多进程 multiprocessing 模块实例详解

主要介绍了Python3多进程 multiprocessing 模块,结合实例形式详细分析了Python3多进程 multiprocessing 模块的概念、原理、相关方法使用技巧与注意事项,需要的朋友可以参考下

python实现多进程循环共享内存队列

生产者消费者模式: 创建一个size大小的共享内存列表,前三个分别保存头指针、尾指针、锁 一个进程生产数据 多个进程消费数据 消费数据时通过锁来保证已消费的数据不能再被取出,已消费的数据置为None 1、创建循环共享内存队列: [front, rear, lock,None,None,None,None,None,None,None,None,None,None] 2、入队列:没有None元素则视为队列已满,新数据不能入队列 3、出队列:如果取出的元素为None,则视为空队列

LDC,公众号【轻松学编程】 615

python3 多进程 同步

目录 进程同步之:Queue和JoinableQueue 代码示例1:Queue 代码示例2:两个子进程间通信 代码示例3:子进程间通信Queue&JoinableQueue 进程同步之:Lock 进程同步之:evant 进程同步之:pipe(管道) 进程同步之:Condition 进程同步之:共享变量(数字/字符串/列表/字典/实例对象) 代码示例1:未使用共享变量 代码示例2:共享数字变量 代码示例3:共享变量+锁 代码示例4:共享字符串 代码示例5:共享的字典和列表

whatday的专栏 3538

Python3_进阶系列_001】Python3-多线程和多进程

一、Python3的多线程和多进程的简介 首先声明,本文不是完全由自己编写完成,参考了网上的例子并自己实践后整理而成,并且添加了自己实际的体会和注解。文末会附件上参考的链接,尊重别人的劳作。 http://www.cnblogs.com/yyyg/p/5602753.html 线程和进程 线程和进程是对计算机而言的,任何编程语言都只是对线程和进程的操作而已。因此不同编程语言中线程和进程的...

weixin_30275415的博客 887

Python3进阶—多进程【全】

文章目录一、多进程模块multiprocessing1.1 multiprocessing.Process()1.2 join进程阻塞1.3 daemon守护进程二、进程间同步2.1 互斥锁Lock()2.2 递归锁RLock()三、进程间通信3.1 队列(推荐使用)3.2 队列的应用-生产者与消费者模式3.3 管道 参考博文 https://www.cnblogs.com/jiangfan95/...

PeakMoment的博客 641

python3多进程与进程池

使用进程并发主要依赖于Python的 和 的两个模块。multiprocessing主要包括如下方法和属性:方法介绍:属性介绍:Python中的multiprocessing库创建进程的步骤如下:示例 结果如下: 进程对象创建时需要分配一个函数,作为进程的执行任务。如示例中的foo(),可以使用元组的形式给函数传递一些参数上面的代码中,主进程是指运行整个脚本的进程,也就是执行之后的代码的进程。主进程负责创建和管理子进程。前面创建了一个进程,分配目标函数和函数变量。给进程分配一个名字,有助于debu

天启的博客 947

python3.8 进程池 多进程实现 加速程序运行

进程池 我们使用multiprocessing库下的Pool开启多进程 multiprocessingpython3内置的,不需要下载安装,直接导入即可 我们写个简单的实例,来展示到底为什么要使用多进程,以及多进程有哪些作用 让我们使用进程的第一种情况观察 阻塞 from time import sleep from multiprocessing import Pool import os # 引入os库的作用是为了获取子进程的ID,让我们更直观查看进程的进度 def pid():

USADA 4801

python3进度条代码_python tqdm实现进度条的示例代码

一、前言\quad \quad 有时候在使用Python处理比较耗时操作的时候,为了便于观察处理进度,这时候就需要通过进度条将处理情况进行可视化展示,以便我们能够及时了解情况。这对于第三方库非常丰富的Python来说,想要实现这一功能并不是什么难事。\quad \quad tqdm就能非常完美的支持和解决这些问题,可以实时输出处理进度而且占用的CPU资源非常少,支持循环处理、多进程、递归处理、还可...

weixin_39525812的博客 259

突破Python爬虫效率瓶颈:多进程并发爬取实战指南

你还在为单线程爬虫速度慢而烦恼吗?面对大量数据采集任务时,是否常常因请求阻塞导致效率低下?本文将通过wistbean/learn_python3_spider项目中的实战案例,教你如何利用多进程技术提升爬虫效率,轻松应对大规模数据采集需求。读完本文,你将掌握多进程爬取的核心原理、实现方法以及在实际项目中的应用技巧。 ## 项目核心并发方案解析 在wistbean/learn_python3_s...

gitblog_01077的博客 910

python3 多进程通信的方式

使用类可以在多个进程之间安全地传递消息和数据。多个进程可以将数据放入队列中,然后其他进程可以从队列中获取这些数据。使用类可以创建一对连接的管道,允许两个进程之间进行双向通信。一个进程可以向管道写入数据,另一个进程则可以从管道中读取这些数据。可以使用或来创建共享内存,允许多个进程访问相同的内存区域。这样可以在进程之间共享数据,但需要注意处理数据同步和互斥访问的问题。通过类可以创建一个管理器对象,该对象提供了许多共享数据结构,如列表、字典等,可以被多个进程访问和修改。使用。

言之。 1万+

python3 分布式多进程

python3 分布式多进程示例 参考资料 https://www.liaoxuefeng.com/wiki/1016959663602400/1017631559645600 task_master.py #! /usr/local/bin python3 # -*- coding: utf-8 -*- # task_master.py import random, time, queu...

Jacoh的专栏 720

multiprocessing 使用 Process+Queue 的多进程爬虫示例

Python网络爬虫:从入门到实践》书中7.3.1节讲到,使用multiprocessing库的第一种方法,是Process+Queue 的多进程爬虫,还给出一个例子,发现有重大逻辑bug,经1天时间研究,将正确的代码公布出来,方便广大爱好者使用、参考。 以下代码同时统计了各个子进程爬取的页面数量,已经在Pycharm 5.0.3上测试通过,欢迎大家评论留言,有问题我看到后会及时回复,谢谢。 ...

Python Supporter 420

python3 多进程 multiprocess 任务均衡 task-balance 队列 queue V1

python3多进程偶尔会有无法停下的bug,因为多进程竞争读取队列时会有Empty exception 所以最好的办法是人为设置进程控制信息,避免因为竞争导致读取队列为空的问题。 [Python,SQL,ETL]交流群 164142295 以下代码完美处理了这个问题 import time from multiprocessing import cpu_count, Que...

chrisplus的博客 616

python3多进程下载_Python3 多进程编程(Multiprocess programming)

Python3 多进程编程(Multiprocess programming)为什么使用多进程python中的多线程其实并不是真正的多线程,不能充分地使用多核CPU的资源,此时需要使用需要使用多进程解决问题。具体用法Python中的多进程是通过multiprocessing模块来实现的,和多线程的threading.Thread类似,利用multiprocessing.Process来创建一个进程...

weixin_39610229的博客 174

python如何调用gurobi,在Python中使用多进程构建Gurobi表达式

首先,我正在使用jupyter notebook、python3.5版本和gurobi7.0.2及其python接口,都在redhat上。在这就是我问题的背景:我想解决一个二次问题,它有大量的变量。建立目标函数需要1-2个小时以上。在我考虑过使用NumpyGPU加速,但是表达式有点棘手,所以,这不是一个解决方案。在因此,我尝试使用多个线程来构建目标函数。但是,我得到了一个错误,我不知道如何处理它。...

weixin_29706351的博客 1149

Python使用multiprocessing实现多进程

Python使用multiprocessing实现多进程 进程是操作系统进行资源分配和调度的一个基本单位。 一、进程及多任务介绍 程序:程序是一个静态的概念。在一台电脑上,我们安装了很多程序,这些程序是可以运行的。比如我们编写一个xxx.py程序,它是静态的,静静的保存在电脑的硬盘中,等待执行。 进程:进程是操作系统分配资源的基本单位,一个程序运行起来后,代码加用到的系统资源称之为进程。比...

weixin_43790276的博客 2万+

Python多进程

单进程示例 举例一个吃饭活动,有一碗汤和一碗饭,正常操作是一口饭一口汤(当然你先把汤或者饭一口气吃完,当我无话可说)。单进程只能是先吃完饭,再喝汤;或者是先喝完汤,再吃饭。 看代码 import time def drink(): for i in range(3): print("喝汤……") time.sleep(1) def eat(): for i in range(3): print("吃饭……") time

帅帅气气的黑猫警长 4万+

Python实现多进程的方法(详细)

Python使用multiprocessing模块来实现在Windows上跨平台的多进程支持。 (在Unix/Linux操作系统上Python提供了一个fork()函数用来创建子进程,但在Windows系统上无法使用) multiprocessingmultiprocessing模块中有一个Process类,Python用它来创建进程。 1.Process类的参数: Process(self,...

ckk727的博客 1万+
上一篇: 进程和线程
下一篇: 进程间通信及python实现
Fire_Pot
博客等级 码龄7年 0粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值