位置: IT常识 - 正文

Python如何进行线程切换(python绘制一条直线)

编辑:rootadmin

推荐整理分享Python如何进行线程切换(python绘制一条直线),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python线条,python绘制一条直线,用python画一条线,python直线,python画线段代码,python线条,python画线段代码,python线条,内容如对您有帮助,希望把文章链接给更多的朋友!

线程切换

条件对象能让一个线程 A 停下来,等待其他线程 B ,线程 B 满足了某个条件后通知(notify)线程 A 继续运行。线程首先获取一个条件变量锁,如果条件不足,则该线程等待(wait)并释放条件变量锁,如果满足就执行线程,也可以通知其他状态为 wait 的线程。其他处于 wait 状态的线程接到通知后会重新判断条件。

无论是多进程还是多线程,只要数量一多,效率肯定上不去,为什么呢?

Python如何进行线程切换(python绘制一条直线)

我们打个比方,假设你不幸正在准备中考,每天晚上需要做语文、数学、英语、物理、化学这5科的作业,每项作业耗时1小时。

如果你先花1小时做语文作业,做完了,再花1小时做数学作业,这样,依次全部做完,一共花5小时,这种方式称为单任务模型,或者批处理任务模型。

假设你打算切换到多任务模型,可以先做1分钟语文,再切换到数学作业,做1分钟,再切换到英语,以此类推,只要切换速度足够快,这种方式就和单核CPU执行多任务是一样的了,以幼儿园小朋友的眼光来看,你就正在同时写5科作业。

但是,切换作业是有代价的,比如从语文切到数学,要先收拾桌子上的语文书本、钢笔(这叫保存现场),然后,打开数学课本、找出圆规直尺(这叫准备新环境),才能开始做数学作业。操作系统在切换进程或者线程时也是一样的,它需要先保存当前执行的现场环境(CPU寄存器状态、内存页等),然后,把新任务的执行环境准备好(恢复上次的寄存器状态,切换内存页等),才能开始执行。这个切换过程虽然很快,但是也需要耗费时间。如果有几千个任务同时进行,操作系统可能就主要忙着切换任务,根本没有多少时间去执行任务了,这种情况最常见的就是硬盘狂响,点窗口无反应,系统处于假死状态。

所以,多任务一旦多到一个限度,就会消耗掉系统所有的资源,结果效率急剧下降,所有任务都做不好。

相关推荐:《Python视频教程》

下面为一个有趣的例子

importthreadingclassBoy(threading.Thread):def__init__(self,cond,name):super(Boy,self).__init__()self.cond=condself.name=namedefrun(self):self.cond.acquire()print(self.name+":嫁给我吧!?")self.cond.notify()#唤醒一个挂起的线程,让hanmeimei表态self.cond.wait()#释放内部所占用的琐,同时线程被挂起,直至接收到通知被唤醒或超时,等待hanmeimei回答print(self.name+":我单下跪,送上戒指!")self.cond.notify()self.cond.wait()print(self.name+":Li太太,你的选择太明治了。")self.cond.release()classGirl(threading.Thread):def__init__(self,cond,name):super(Girl,self).__init__()self.cond=condself.name=namedefrun(self):self.cond.acquire()self.cond.wait()#等待Lilei求婚print(self.name+":没有情调,不够浪漫,不答应")self.cond.notify()self.cond.wait()print(self.name+":好吧,答应你了")self.cond.notify()self.cond.release()cond=threading.Condition()boy=Boy(cond,"LiLei")girl=Girl(cond,"HanMeiMei")girl.start()boy.start()

运行结果如下:

LiLei:嫁给我吧!?HanMeiMei:没有情调,不够浪漫,不答应LiLei:我单下跪,送上戒指!HanMeiMei:好吧,答应你了LiLei:Li太太,你的选择太明治了。

相关推荐:

本文链接地址:https://www.jiuchutong.com/zhishi/304582.html 转载请保留说明!

上一篇:CSS中的三大特性(css 3有哪些新特性)

下一篇:ps卸载不干净无法安装(ps卸载没反应)

  • 抖音怎么设置不能下载我的作品(抖音怎么设置不喜欢的视频推荐)

    抖音怎么设置不能下载我的作品(抖音怎么设置不喜欢的视频推荐)

  • 海信电视怎么调出机顶盒频道(海信电视怎么调电视频道)

    海信电视怎么调出机顶盒频道(海信电视怎么调电视频道)

  • iqoo怎么关闭5G网络(iqoo7如何关闭5g网络)

    iqoo怎么关闭5G网络(iqoo7如何关闭5g网络)

  • iwatch调节声音大小方法(怎么调低iwatch声音)

    iwatch调节声音大小方法(怎么调低iwatch声音)

  • 华为p40可以分期么(华为p40能分期吗)

    华为p40可以分期么(华为p40能分期吗)

  • 开机自动磁盘检测原因(开机自动磁盘检查怎么关闭)

    开机自动磁盘检测原因(开机自动磁盘检查怎么关闭)

  • sandisksecureaccess是什么软件

    sandisksecureaccess是什么软件

  • 荣耀30pro有没有90hz(荣耀30Pro有没有双扬声器)

    荣耀30pro有没有90hz(荣耀30Pro有没有双扬声器)

  • 怎样微信分身登录(请问微信分身怎么登录?)

    怎样微信分身登录(请问微信分身怎么登录?)

  • 打电话用户正忙什么原因(打电话用户正忙短信通知他)

    打电话用户正忙什么原因(打电话用户正忙短信通知他)

  • 没有猫只有路由器可以上网吗(没有猫只有路由器电脑可以上网吗)

    没有猫只有路由器可以上网吗(没有猫只有路由器电脑可以上网吗)

  • 微信赞赏码收款异常怎么办(微信赞赏码能追回吗)

    微信赞赏码收款异常怎么办(微信赞赏码能追回吗)

  • 快手的五角星是什么意思(快手五角星是8什么意思啊)

    快手的五角星是什么意思(快手五角星是8什么意思啊)

  • 华为手机无线网已经连接但不能用怎么办(华为手机无线网连不上是什么原因)

    华为手机无线网已经连接但不能用怎么办(华为手机无线网连不上是什么原因)

  • 怎么让qq显示电脑在线(怎么让qq显示电池电量)

    怎么让qq显示电脑在线(怎么让qq显示电池电量)

  • qq送礼物可怎么提现(qq送出礼物)

    qq送礼物可怎么提现(qq送出礼物)

  • 苹果11promax有指纹解锁吗(苹果11pro max的指纹在哪)

    苹果11promax有指纹解锁吗(苹果11pro max的指纹在哪)

  • 手机单模双模什么意思(手机单模和双模怎么看)

    手机单模双模什么意思(手机单模和双模怎么看)

  • 苹果11什么时候开始售卖(苹果11什么时候出来几年了)

    苹果11什么时候开始售卖(苹果11什么时候出来几年了)

  • 怎么修改微信乘车码支付方式(怎么修改微信乘车码的支付方式)

    怎么修改微信乘车码支付方式(怎么修改微信乘车码的支付方式)

  • 苹果手机怎么取消预订app(苹果手机怎么取消静音模式)

    苹果手机怎么取消预订app(苹果手机怎么取消静音模式)

  • 红米note8pro有屏幕指纹吗(红米note8pro有屏幕支架吗)

    红米note8pro有屏幕指纹吗(红米note8pro有屏幕支架吗)

  • 京东怎么取消学生认证(京东怎么取消学生)

    京东怎么取消学生认证(京东怎么取消学生)

  • vga接口定义详细解释(vga接口定义详细教程)

    vga接口定义详细解释(vga接口定义详细教程)

  • 手机怎么看自己的qq密码(手机怎么看自己手机的型号)

    手机怎么看自己的qq密码(手机怎么看自己手机的型号)

  • 如何成功安装webpack(如何成功安装暗区突围)

    如何成功安装webpack(如何成功安装暗区突围)

  • 【面试宝典】2023前端面试题(面试宝典下载)

    【面试宝典】2023前端面试题(面试宝典下载)

  • 如何申请一般纳税人
  • 期末应交税费有余额吗
  • 个人分红怎么算
  • 房地产企业样板间装修费计入什么科目
  • 企业注销,账面余额怎样调账
  • 货物已到发票未开具
  • 工会经费支付福利方案
  • 社保滞纳金所得税汇算需要调增吗
  • 递延收益的核算
  • 个人所得税里累计专项扣除是什么意思
  • 销售收入做账属于什么凭证
  • 独立核算自负盈亏和统负盈亏怎么选
  • 房地产企业承担的债务
  • 计提坏账准备的做法体现了什么的信息质量要求
  • 汇算清缴补交需要调报表吗
  • 银行卡收到养老金是什么意思
  • 银行开户时存入的现金怎么做账
  • 股东分红如何合理节税
  • 税收分类编码如何填写
  • 开专票附加8个税点怎么计算?
  • 买烟酒开专票可以抵税吗
  • 小规模纳税人月末结转增值税
  • 计算广告的基本运作模式
  • 企业零星支出是否需要发票
  • 当年亏损可以用以前年度来弥补吗
  • 人工智能对财务人员的挑战与机遇
  • 个税纳税期数如何规定的 怎么选择
  • 旧设备投资的账务处理
  • 餐饮店收入是销售收入吗
  • 个税起征点是
  • 社保基数填错了 可以退款吗
  • 企业如何选择会计准则
  • 购买保本理财产品
  • 自开和代开增值税专用发票盖章要求有不同吗?
  • 包装物押金收入计入收入总额吗
  • ReadTimeoutError: HTTPSConnectionPool(host=‘cdn-lfs.huggingface.co‘, port=443)
  • 行走在奥卡万戈河中的大象,博茨瓦纳,非洲南部 (© Markus Pavlowsky/Getty Images)
  • window.location.href返回值
  • 发票十万元版和百万元版
  • mvc与mvvm
  • chk命令
  • python del语法
  • 信息系统服务属于什么类
  • 固定资产处理的税务政策
  • sql2014附加数据库失败
  • layuitablechecked获取选中数据方式
  • 文化传媒有限公司英文
  • 怎么查是一般纳税人还是小规模
  • 电子承兑对方拒绝签收多久能到账
  • 积分换物品是真的吗
  • 机动车发票红冲多了税盘被锁
  • 个体工商户实收资本可以填0吗
  • 旅行社增值税2020
  • 旅行社差额征收税率多少
  • 会计的视频教程
  • 住宿费发票属于会计凭证吗
  • 公转私钱最好的方法
  • 上年亏损本年要交税吗
  • win7登录设置
  • linux忘记密码怎么重启
  • CentOS ip_conntrack: table full, dropping packet 的解决方法
  • 如何打开音量控制器
  • xp系统远程桌面怎么设置
  • centos 6.5网络设置
  • win7电脑音量
  • mac修改java版本
  • f_00000e是什么文件
  • win7旗舰版64位系统开机时软件设置自动启动详细图文教程
  • jquery九宫格抽奖
  • 快速掌握日语词汇
  • jquery设置cookie过期时间
  • beautiful python
  • unity快速接入第三方sdk
  • jquery课程内容总结
  • 自制基质
  • python嵌套列表怎么遍历
  • 沈阳和平税务大厅电话
  • 发票真伪查询国税官网12366
  • 税务注销证明样本
  • 北京市地税总局电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设