位置: 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卸载没反应)

  • 得力考勤机怎么录指纹(得力考勤机怎么导出考勤表)

    得力考勤机怎么录指纹(得力考勤机怎么导出考勤表)

  • 微信视频号里的视频怎么保存到相册(微信视频号里的视频怎么复制链接)

    微信视频号里的视频怎么保存到相册(微信视频号里的视频怎么复制链接)

  • vivos1是oled屏幕吗(vivos1是lcd屏幕吗)

    vivos1是oled屏幕吗(vivos1是lcd屏幕吗)

  • 快手小店关闭了多久可以再开通(快手小店关闭了怎么开通店铺)

    快手小店关闭了多久可以再开通(快手小店关闭了怎么开通店铺)

  • 华为nova5支持红外功能吗(华为nova5z支持红外线吗)

    华为nova5支持红外功能吗(华为nova5z支持红外线吗)

  • 只记得微信号怎么登录(只记得微信号怎么登录 密码忘了呢)

    只记得微信号怎么登录(只记得微信号怎么登录 密码忘了呢)

  • 华为手机一直响个不停怎么解决(华为手机一直响铃怎么关闭)

    华为手机一直响个不停怎么解决(华为手机一直响铃怎么关闭)

  • 手机收音机打不开怎么办(手机收音不了怎么办)

    手机收音机打不开怎么办(手机收音不了怎么办)

  • 手机QQ手机邮箱在哪里找到(手机qq里面邮箱)

    手机QQ手机邮箱在哪里找到(手机qq里面邮箱)

  • 微信群付款怎么操作(微信群付款怎么付钱)

    微信群付款怎么操作(微信群付款怎么付钱)

  • 内存条坏了自己能修吗(内存条坏了自己怎么修)

    内存条坏了自己能修吗(内存条坏了自己怎么修)

  • 扫描版和pdf版有什么区别(扫描版和pdf版有区别吗)

    扫描版和pdf版有什么区别(扫描版和pdf版有区别吗)

  • 开热点对手机有损伤吗(开热点对手机有影响吗知乎)

    开热点对手机有损伤吗(开热点对手机有影响吗知乎)

  • 苹果售后支持寄修吗(苹果售后寄什么快递)

    苹果售后支持寄修吗(苹果售后寄什么快递)

  • 苹果x电池寿命83%要换吗(苹果x电池寿命80%要换吗)

    苹果x电池寿命83%要换吗(苹果x电池寿命80%要换吗)

  • 苹果手机一看视频就发烫怎么办(苹果手机一看视频就发热是怎么回事)

    苹果手机一看视频就发烫怎么办(苹果手机一看视频就发热是怎么回事)

  • iphone11打不进来电话(苹果11电话打不出)

    iphone11打不进来电话(苹果11电话打不出)

  • 手机怎么删除相册访客(手机怎么删除相同文件)

    手机怎么删除相册访客(手机怎么删除相同文件)

  • 韩剧tv属于腾讯范围内吗(韩剧tv属于哪个)

    韩剧tv属于腾讯范围内吗(韩剧tv属于哪个)

  • 华为hma-al00是什么型号(华为hma—aloo)

    华为hma-al00是什么型号(华为hma—aloo)

  • sata2和sata3接口区别能通用吗(sata2和3接口一样吗)

    sata2和sata3接口区别能通用吗(sata2和3接口一样吗)

  • 小米运动耳机怎么连接手机(小米运动耳机怎么拆)

    小米运动耳机怎么连接手机(小米运动耳机怎么拆)

  • 苹果手机怎么让电池更耐用(苹果手机怎么让别人电话打不进来)

    苹果手机怎么让电池更耐用(苹果手机怎么让别人电话打不进来)

  • 怎么让高德地图横屏(怎么让高德地图声音比音乐声大)

    怎么让高德地图横屏(怎么让高德地图声音比音乐声大)

  • 苹果x盒子里配了什么(iphonex盒子标配)

    苹果x盒子里配了什么(iphonex盒子标配)

  • nfc在哪里(nfc在哪里打开)

    nfc在哪里(nfc在哪里打开)

  • 解散的q群怎么恢复(解散了的群怎么恢复qq)

    解散的q群怎么恢复(解散了的群怎么恢复qq)

  • sm卡是什么(simgsm分别是什么卡)

    sm卡是什么(simgsm分别是什么卡)

  • 怎么用U盘装系统(怎么u盘装系统,u盘装系统教程图解)

    怎么用U盘装系统(怎么u盘装系统,u盘装系统教程图解)

  • OpenCV安装配置教程VS2022(超级顺利)(opencv1.0安装)

    OpenCV安装配置教程VS2022(超级顺利)(opencv1.0安装)

  • 取得的高速公路发票可以抵扣吗
  • 怎么免费用别人的网
  • 代收的电费计入什么费用
  • 代订机票被骗可以追回吗
  • 高铁票抵扣进项税
  • 新会计准则下接会计科目
  • 购入免征车船税吗
  • 公司的旅游费怎么处理
  • 政府会计制度中累计盈余怎么计算
  • 进料加工企业的增值税如何处理
  • 应收账款未收到是否要交税
  • 当期留抵税额怎么计算
  • 社会团体收到的投资款怎么入账
  • 花卉租赁发票税率是多少
  • 代扣代缴的增值税怎么做账
  • 出口企业增值税优惠政策
  • 有合同未收到租金税务如何处理?
  • 给单位员工报销电话费怎么做账务处理
  • 城市维护建设税的计税依据是什么
  • 暑假工需要什么条件
  • 会计当年是指哪一年
  • 用友软件怎么反记账凭证
  • 往来款核销需要如何确认
  • 公司房产税如何征收税率
  • 银行回单如何做凭证
  • 员工垫付公司钱怎么入账
  • 苹果mac电脑自带的软件
  • 简易征收做账
  • mac上读取ntfs
  • 公司赞助商
  • 腾达ac9路由器怎么样
  • mce是什么文件格式
  • 科罗拉多斯普林斯海拔
  • 增值税减免后按3%记提税款吗
  • php7.0新特性
  • 跨省不动产登记
  • 境外机动车临时可以办理什么车险业务
  • 没有以前年度损益调整属于哪类科目
  • 计提费用收到发票后会计分录
  • 工商罚款怎么入账
  • 2022年最新公务员职务职级对照表
  • 接口二次封装
  • 财政补助结转的会计科目
  • 折扣店商场
  • 货币捐赠会计分录
  • php脚本加密
  • 保洁公司保洁服务税率
  • 发票上的抵扣联抵扣联是什么意思
  • 购买电梯会计账务处理
  • 出租车发票可以重新打印吗
  • 企业会计准则在建工程转固定资产
  • 增值税发票怎么领取
  • 预交的城建税及附加税
  • 股东权益合计是所有者权益总和么
  • 社保补缴收滞纳金吗
  • 库存现金盘点表模板
  • 人力资源劳务费计入什么科目
  • 残疾人就业保障金
  • 购进销售产品的会计分录
  • 财务人员如何审合同课件
  • SQL order by ID desc/asc加一个排序的字段解决查询慢问题
  • ubuntu20.04挂载
  • linux常用命令修改
  • win10的qq
  • linuxnamespace入门
  • windows 10预览版
  • win7安装kb3170455失败
  • 32位win7安装
  • win7出现蓝屏怎么办
  • 水下摄影技巧
  • view组件属性
  • 局域网远程开机与远程唤醒
  • ADB (Android Debug Bridge)常用命令
  • 接口回调java
  • vue实现淘宝布局
  • selenium在pycharm
  • express后端
  • 京东发票税号是几位数
  • 美国海关税收起征点
  • 我国公益性企业有哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设