001_python多进程实例
一、工作中需要执行zk数据对比,需要按照机器进行并发,举例以下的例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | # coding:utf8 # !/usr/bin/python import time from multiprocessing import Pool def test(i): ''' 执行这个程序的时候ps -ef|grep xxx.py可以看到启动了11个进程(1个父进程和10个子进程),这里的sleep(3)秒,会每3秒同时输出10个数字 :param i: :return: ''' print i time.sleep( 3 ) if __name__ = = "__main__" : pool = Pool(processes = 10 ) for i in xrange ( 500 ): ''' For循环中执行步骤: (1)循环遍历,将500个子进程添加到进程池(相对父进程会阻塞) (2)每次执行10个子进程,等一个子进程执行完后,立马启动新的子进程。(相对父进程不阻塞) apply_async为异步进程池写法。 异步指的是启动子进程的过程,与父进程本身的执行(print)是异步的,而For循环中往进程池添加子进程的过程,与父进程本身的执行却是同步的。 ''' pool.apply_async(test, args = (i,)) # 维持执行的进程总数为10,当一个进程执行完后启动一个新进程. print "=================" pool.close() pool.join() |
输出=>可以看到会10个一批的输出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | 0 1 2 3 4 5 6 7 8 9 = = = = = = = = = = = = = = = = = 10 11 12 13 14 15 16 17 18 19 .................... |
分类:
016_并发
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· “你见过凌晨四点的洛杉矶吗?”--《我们为什么要睡觉》
· 编程神器Trae:当我用上后,才知道自己的创造力被低估了多少
· C# 从零开始使用Layui.Wpf库开发WPF客户端
· C#/.NET/.NET Core技术前沿周刊 | 第 31 期(2025年3.17-3.23)
· 接口重试的7种常用方案!