位置: IT常识 - 正文

Python中Thread子类如何封装(python子类init)

编辑:rootadmin

推荐整理分享Python中Thread子类如何封装(python子类init),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python中的threading.thread,python子类init,python子类init,python thread类,python中thread函数,python thread类,python中的threading.thread,python thread类,内容如对您有帮助,希望把文章链接给更多的朋友!

Thread子类的封装

通过使用threading模块能完成多任务的程序开发,为了让每个线程的封装性更完美,所以使用threading模块时,往往会定义一个新的子类class,只要继承threading.Thread就可以了,然后重写run方法。

#coding=utf-8importthreadingimporttimeclassMyThread1(threading.Thread):defrun(self):foriinrange(3):time.sleep(1)msg="I'm"+self.name+'@'+str(i)#name属性中保存的是当前线程的名字print(msg)classMyThread2(threading.Thread):defrun(self):foriinrange(3):time.sleep(1)msg="I'm"+self.name+'@'+str(i)#name属性中保存的是当前线程的名字print(msg)if__name__=='__main__':t1=MyThread1()t2=MyThread2()t1.start()t2.start()

运行结果为:

说明:

python的threading.Thread类有一个run方法,用于定义线程的功能函数,可以在自己的线程类中覆盖该方法。

Python中Thread子类如何封装(python子类init)

创建自己的线程实例后,通过Thread类的start方法,可以启动该线程,当该线程获得执行的机会时,就会调用run方法执行线程。

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

2. 线程的执行顺序

#coding=utf-8importthreadingimporttimeclassMyThread(threading.Thread):defrun(self):foriinrange(3):time.sleep(1)msg="I'm"+self.name+'@'+str(i)#name属性中保存的是当前线程的名字print(msg)deftest():foriinrange(1,5):t=MyThread()t.start()if__name__=='__main__':test()

运行结果为:

说明:

从代码和执行结果我们可以看出,多线程程序的执行顺序是不确定的。当执行到sleep语句时,线程将被阻塞(Blocked),到sleep结束后,线程进入就绪(Runnable)状态,等待调度。而线程调度将自行选择一个线程执行。上面的代码中只能保证每个线程都运行完整个run函数,但是线程的启动顺序、run函数中每次循环的执行顺序都不能确定。

总结:

每个线程一定会有一个名字,尽管上面的例子中没有指定线程对象的name,但是python会自动为线程指定一个名字。

当线程的run()方法结束时该线程完成。

无法控制线程调度程序,但可以通过别的方式来影响线程调度的方式。

线程的几种状态

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

上一篇:WordPress安全防护 你可以做这些事情(wordpress防盗链)

下一篇:dedecms织梦描述description长度限制修改方法(织梦栏目描述调用)

  • 装修及室内设计实训报告
  • 外商投资的企业是民营企业吗
  • 个税申报月份错了怎么改
  • 网上申领发票收到后需要怎么操作
  • 自产自销发票可以抵扣增值税发票吗
  • 红字信息表跨月撤销有什么影响吗
  • 已经认证的发票红冲发票需要收回原发票吗
  • 个税父母赡养抵扣3000
  • 出差回来报销差旅费,补付现金的会计分录
  • 员工自己领取社保卡需要带什么资料
  • 打印机的增值税率
  • 网上申购发票怎么撤销
  • 筹建期发生的费用是放在那个科目
  • 所得税汇算清缴补税的会计处理
  • 五险一金的记账凭证怎么填写
  • 内部控制的概念最早是从什么得来的
  • 在win7系统中,怎么把D盘里的文件移到C盘里?
  • 苹果桌面小工具怎么设置
  • 如何设置win10电脑开机不黑屏
  • 购销合同违约罚款属什么科目
  • 已提折旧固定资产评估增值的会计处理是企业会计准则
  • 股东无偿转让股权
  • 工作组只能看到自己
  • thinkphp错误日志目录
  • 老板垫付的员工怎么入账
  • 控制层框架
  • 知识图谱实现方案
  • _get_osfhandle
  • 电子发票冲红后对方能查到吗
  • 会计中财务费用为负
  • phpcms验证码不显示
  • mongodb开启
  • 从合同有什么
  • 入职体检费用报销发票怎么开
  • 单位人民币卡账户的资金一律从其基本存款账户转账存入
  • 支付给法律顾问怎么做账
  • 关联公司代缴社保劳动者怎么处理
  • 存货取得长期股权投资
  • 固定资产无票怎样入账
  • 税率由16%变更为13怎么算
  • 人力公司开的代驾发票
  • 根据《物业管理条例》的规定,物业服务企业
  • 计提坏账准备需要哪些资料
  • w10桌面
  • ubuntu18.04更新到20.04
  • squid ssh
  • vmware12安装教程图解
  • mac快捷键一览
  • centos7安装过程报错
  • xp系统怎么卸载驱动程序
  • Win7怎么关闭自动更新
  • win7电脑桌面图标间隔太大怎么调
  • win7 运行慢
  • windows10 不能启动
  • win8启动设置选哪个
  • 安卓获取设备信息
  • scrollpane.setviewportview
  • 微信小程序页面滚动
  • perl -pi
  • 在微信支付宝借贷会影响征信吗
  • python选择器
  • django的工作原理
  • android设置背景颜色代码
  • Python 装饰器深入理解
  • ajax按顺序执行
  • 请问在javascript程序中
  • python类属性和类方法
  • javascript中select下拉框的用法总结
  • jquery插件库免费
  • 源码搜索
  • python之父推荐的书
  • 拟录用人员公示后还会递补吗
  • 成都燃气在线查询
  • 安徽省国家税务局电子税务局
  • 国税总局商品编码是什么
  • 公司被税务查账对不上
  • 南通国税电子税务局
  • 公租房要钱吗
  • 四川电子税务局网上办税大厅
  • 广东地方税务局领导班子名单
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设