电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

python如何控制進程或者線程的個數(shù)

瀏覽:34日期:2022-07-08 09:10:16

背景

日常開發(fā)中,難免遇到并發(fā)場景,而并發(fā)場景難免需要做流量控制,即需要對并發(fā)的進程或者線程的總量進行控制。 今天簡單總結兩種常用的控制線程個數(shù)的方法。

方法一:進程池/線程池

如下例demo所示, 創(chuàng)建了一個大小是4的進程池,然后創(chuàng)建5個進程,并啟動

from multiprocessing import Poolimport os, time, randomdef long_time_task(name): print(’Run task %s (%s)...’ % (name, os.getpid())) start = time.time() time.sleep(random.random() * 3) end = time.time() print(’Task %s runs %0.2f seconds.’ % (name, (end - start)))if __name__ == ’__main__’: print(’Parent process %s.’ % os.getpid()) p = Pool(4) for i in range(5): p.apply_async(long_time_task, args=(i,)) print(’Waiting for all subprocesses done...’) p.close() p.join() print(’All subprocesses done.’)

運行結果如下,可以看到第5個進程會等池子里的進程完成一個后才會被啟動

Run task 0 (32952)...Run task 1 (32951)...Run task 2 (32953)...Run task 3 (32954)...Task 2 runs 0.68 seconds.Run task 4 (32953)...Task 1 runs 1.41 seconds.Task 0 runs 1.44 seconds.Task 4 runs 2.15 seconds.Task 3 runs 2.98 seconds.All subprocesses done.

方法二:queue

queue 模塊即隊列,特別適合處理信息在多個線程間安全交換的多線程程序中。 下面的demo展示了如何通過queue來限制線程的并發(fā)個數(shù)

import threadingimport queueimport timeimport randomimport osmaxThreads = 4class Store(threading.Thread): def __init__(self, q): threading.Thread.__init__(self) self.queue = q # self.store = store def run(self): try: print(’Run task (%s)...’ % (os.getpid())) start = time.time() time.sleep(random.random() * 3) end = time.time() t = threading.currentThread() # 線程ID print(’Thread id : %d’ % t.ident) print(’Thread name : %s’ % t.getName()) print(’Task runs %0.2f seconds.’ % (end - start)) except Exception as e: print(e) finally: self.queue.get() self.queue.task_done()def main(): q = queue.Queue(maxThreads) for s in range(6): q.put(s) t = Store(q) t.start() q.join() print(’over’)if __name__ == ’__main__’: main()

運行結果如下:

Run task (33259)...Run task (33259)...Run task (33259)...Run task (33259)...Thread id : 123145444999168Thread name : Thread-13Task runs 0.04 seconds.Run task (33259)...Thread id : 123145394630656Thread name : Thread-10Task runs 1.02 seconds.Run task (33259)...Thread id : 123145428209664Thread name : Thread-12Task runs 1.20 seconds.Thread id : 123145394630656Thread name : Thread-17Task runs 0.68 seconds.Thread id : 123145444999168Thread name : Thread-14Task runs 1.79 seconds.Thread id : 123145411420160Thread name : Thread-11Task runs 2.96 seconds.over

以上就是python如何控制進程或者線程的個數(shù)的詳細內容,更多關于python 控制進程或線程的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 高考志愿规划师_高考规划师_高考培训师_高报师_升学规划师_高考志愿规划师培训认证机构「向阳生涯」 | 离子色谱自动进样器-青岛艾力析实验科技有限公司 | 3d可视化建模_三维展示_产品3d互动数字营销_三维动画制作_3D虚拟商城 【商迪3D】三维展示服务商 广东健伦体育发展有限公司-体育工程配套及销售运动器材的体育用品服务商 | 培训中心-翰香原香酥板栗饼加盟店总部-正宗板栗酥饼技术 | 重庆私家花园设计-别墅花园-庭院-景观设计-重庆彩木园林建设有限公司 | 气动隔膜泵厂家-温州永嘉定远泵阀有限公司 | 直线模组_滚珠丝杆滑台_模组滑台厂家_万里疆科技 | 河南包装袋厂家_河南真空袋批发价格_河南服装袋定制-恒源达包装制品 | 恒温油槽-恒温水槽-低温恒温槽厂家-宁波科麦仪器有限公司 | 电磁铁_小型推拉电磁铁_电磁阀厂家-深圳市宗泰电机有限公司 | 压缩空气检测_气体_水质找上海京工-服务专业、价格合理 | 服务器之家 - 专注于服务器技术及软件下载分享 | 喷漆房_废气处理设备-湖北天地鑫环保设备有限公司 | 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 | 河北中仪伟创试验仪器有限公司是专业生产沥青,土工,水泥,混凝土等试验仪器的厂家,咨询电话:13373070969 | 环氧树脂地坪漆_济宁市新天地漆业有限公司| 小港信息港-鹤壁信息港 鹤壁老百姓便民生活信息网站 | 品牌策划-品牌设计-济南之式传媒广告有限公司官网-提供品牌整合丨影视创意丨公关活动丨数字营销丨自媒体运营丨数字营销 | 烟气换热器_GGH烟气换热器_空气预热器_高温气气换热器-青岛康景辉 | 印刷人才网 印刷、包装、造纸,中国80%的印刷企业人才招聘选印刷人才网! | 京马网,京马建站,网站定制,营销型网站建设,东莞建站,东莞网站建设-首页-京马网 | 深圳南财多媒体有限公司介绍 | 优宝-汽车润滑脂-轴承润滑脂-高温齿轮润滑油脂厂家 | 北京模型公司-工业模型-地产模型-施工模型-北京渝峰时代沙盘模型制作公司 | 盘煤仪,盘料仪,盘点仪,堆料测量仪,便携式激光盘煤仪-中科航宇(北京)自动化工程技术有限公司 | 贵州自考_贵州自学考试网| 气动隔膜泵厂家-温州永嘉定远泵阀有限公司 | 北京翻译公司-专业合同翻译-医学标书翻译收费标准-慕迪灵 | 拉力机-万能试验机-材料拉伸试验机-电子拉力机-拉力试验机厂家-冲击试验机-苏州皖仪实验仪器有限公司 | PCB厂|线路板厂|深圳线路板厂|软硬结合板厂|电路板生产厂家|线路板|深圳电路板厂家|铝基板厂家|深联电路-专业生产PCB研发制造 | 石家庄律师_石家庄刑事辩护律师_石家庄取保候审-河北万垚律师事务所 | pos机办理,智能/扫码/二维码/微信支付宝pos机-北京万汇通宝商贸有限公司 | 单级/双级旋片式真空泵厂家,2xz旋片真空泵-浙江台州求精真空泵有限公司 | 厚壁钢管-厚壁无缝钢管-小口径厚壁钢管-大口径厚壁钢管 - 聊城宽达钢管有限公司 | 贴片电感_贴片功率电感_贴片绕线电感_深圳市百斯特电子有限公司 贴片电容代理-三星电容-村田电容-风华电容-国巨电容-深圳市昂洋科技有限公司 | 液氮罐_液氮容器_自增压液氮罐_杜瓦瓶_班德液氮罐厂家 | 代办建筑资质升级-建筑资质延期就找上海国信启航 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 企典软件一站式企业管理平台,可私有、本地化部署!在线CRM客户关系管理系统|移动办公OA管理系统|HR人事管理系统|人力 | 电杆荷载挠度测试仪-电杆荷载位移-管桩测试仪-北京绿野创能机电设备有限公司 | SDI车窗夹力测试仪-KEMKRAFT方向盘测试仪-上海爱泽工业设备有限公司 |