当前位置: 首页 > news >正文

东莞网站建设建网站平面设计培训哪个好

东莞网站建设建网站,平面设计培训哪个好,做自己的网站需要什么,潍坊专业网站建设哪家好目录 一.Python 线程池前言二.Python 线程池原理三.Python 线程池 ThreadPoolExecutor 函数介绍四.Python 线程池 ThreadPoolExecutor 简单使用五.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 Python 基础入门 一.Python 线程池前言 在前面的文章中我们…目录 一.Python 线程池前言二.Python 线程池原理三.Python 线程池 ThreadPoolExecutor 函数介绍四.Python 线程池 ThreadPoolExecutor 简单使用五.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 Python 基础入门 一.Python 线程池前言 在前面的文章中我们已经介绍了很多关于 Python 线程相关的知识点比如 线程互斥锁 Lock / 线程事件 Event / 线程条件变量 Condition 等等而今天给大家讲解的是 线程池 ThreadPoolExecutor可能很多小伙伴会疑惑threading 模块能创建线程ThreadPoolExecutor 也能创建线程两者都有什么区别呢 众所周知程序中使用线程会提高运行效率虽然线程是计算机的最小单位但是线程的创建和使用一样会占用计算机资源和产生开销一旦创建成千上万的线程计算机一样会死机一个合理的程序永远都是以消耗最少的资源干最多的事就像公司老板永远都想以最少的钱招最少的人干最多的事 哪个二货在背后说我 二.Python 线程池原理 大家都使用过迅雷下载当同时下载 1000 个任务甚至更多的时候就算开通 vip 同时下载的数量也只有 8 个。如果同时创建 1000 个线程首先对计算器的开销也很大而且每次只运行 8 个线程需要不停的创建和销毁这样会显得很麻烦。 而使用线程池 ThreadPoolExecutor 就可以解决上面的问题其实只需要 8 个线程就行了每个线程各分配一个任务剩下的任务排队等待当某个线程完成了任务的时候排队任务就可以安排给这个线程继续执行这就是所谓的线程池 ThreadPoolExecutor 原理 三.Python 线程池 ThreadPoolExecutor 函数介绍 1.ThreadPoolExecutor 构造实例的时候传入 max_workers 参数来设置线程池中最多能同时运行的线程数目。2.使用 submit 函数来提交线程需要执行的任务函数名和参数到线程池中并返回该任务的句柄类似于文件、画图注意 submit 不是阻塞的而是立即返回。3.通过 submit 函数返回的任务句柄能够使用 done 方法判断该任务是否结束。下面的例子可以看出由于任务有 2s 的延时在 task1 提交后立刻判断 task1 还未完成而在延时 4s 之后判断task1 就完成了。4.使用 cancel 方法可以取消提交的任务如果任务已经在线程池中运行了就取消不了。这个例子中线程池的大小设置为 2 任务已经在运行了所以取消失败。如果改变线程池的大小为 1 那么先提交的是 task1task2 还在排队等候这是时候就可以成功取消。5.使用 result 方法可以获取任务的返回值注意这个方法是阻塞的。 四.Python 线程池 ThreadPoolExecutor 简单使用 # !usr/bin/env python # -*- coding:utf-8 _*-Author:猿说编程 Blog(个人博客地址): www.codersrc.com File:Python 线程池 ThreadPoolExecutor.py Time:2021/05/05 07:37 Motto:不积跬步无以至千里不积小流无以成江海程序人生的精彩需要坚持不懈地积累from concurrent.futures import ThreadPoolExecutor import time# 参数times用来模拟下载的时间 def down_video(times):time.sleep(times)print(down video {}s finished.format(times))return timesexecutor ThreadPoolExecutor(max_workers2) # 通过submit函数提交执行的函数到线程池中submit函数立即返回不阻塞 task1 executor.submit(down_video, (3)) task2 executor.submit(down_video, (2)) # done方法用于判定某个任务是否完成 print(任务1是否已经完成,task1.done()) # cancel方法用于取消某个任务,该任务没有放入线程池中才能取消成功 print(取消任务2,task2.cancel()) time.sleep(4) print(任务1是否已经完成,task1.done()) # result方法可以获取task的执行结果 print(task1.result()) 输出结果任务1是否已经完成 False 取消任务2 False down video 2s finished down video 3s finished 任务1是否已经完成 True 3线程池 ThreadPoolExecutor 使用远不止如此由于篇幅有限关于线程池 as_completed / map / wait 函数和线程池的阻塞和执行顺序相关介绍请参考Python 线程池 ThreadPoolExecutor二 五.猜你喜欢 Python 条件推导式Python 列表推导式Python 字典推导式Python 函数声明和调用Python 不定长参数 *argc/**kargcsPython 匿名函数 lambdaPython return 逻辑判断表达式Python 字符串/列表/元组/字典之间的相互转换Python 局部变量和全局变量Python type 函数和 isinstance 函数区别Python is 和 区别Python 可变数据类型和不可变数据类型Python 浅拷贝和深拷贝Python 文件读写操作Python 异常处理Python 模块 importPython __name__ ‘__main__’详细解释Python 线程创建和传参Python 线程互斥锁 LockPython 线程事件 EventPython 线程条件变量 ConditionPython 线程定时器 TimerPython 线程信号量 SemaphorePython 线程障碍对象 BarrierPython 线程队列 Queue – FIFOPython 线程队列 LifoQueue – LIFOPython 线程优先队列 PriorityQueue 未经允许不得转载猿说编程 » Python 线程池 ThreadPoolExecutor(一)
http://www.pierceye.com/news/823938/

相关文章:

  • 网站建设与管理专业是什么办公空间设计案例整套
  • 网站设计网站源码怎么介绍自己的学校
  • 企业网站建设兴田德润很赞运动网站建设主题
  • 沧州自适应网站建设惠安规划局建设局网站
  • 第三方商城网站建设清理wordpress模板
  • 石家庄市建设厅网站wordpress 缩略图代码
  • 网站建设开发服务费怎么做账在线教育平台
  • 南京市英语网站建设网页制作基础教程课件葛艳玲
  • 石家庄网站建设电商台州自助建站在线咨询
  • 郑州媒体网站定制开发网站建设有趣名称
  • 清远企业网站建设公司江西网站开发企业
  • 中国建设监理协会化工监理协会网站中国建行官网首页
  • 长宁区科技网站建设科技类网站怎么做
  • 物流企业的网站模板wordpress海淘
  • 青岛做外贸网站的公司简介重庆关键词优化平台
  • 黄岛外贸网站建设很多网站没排名了
  • 广州做网站优化费用网站建设和制作
  • 修改网站域名网站收录低的原因
  • 网站登录页面模板下载做网站背景
  • 温州网站推广驭明电脑网站模版
  • 高端定制网站开发需要多少钱秦皇岛优化网站排名
  • 有网站源码怎么搭建网站南京网站制作设计公司
  • 做网站学什么专业建个什么网站赚钱
  • 衡阳手机网站设计世界上有几个空间站
  • 推荐个做淘宝主图视频的网站苍南最好的网站建设公司
  • 山东中迅网站建设wordpress固定链接翻页404
  • 网站 改版农业网站建设方案 ppt
  • 网关高性能 网站建设设计制作长方体形状的包装纸盒视频
  • 如何做游戏推广网站廊坊百度推广公司地址
  • 国产做爰网站wordpress wrapper