位置: 编程技术 - 正文

简要讲解Python编程中线程的创建与锁的使用(python 编程技巧)

编辑:rootadmin

推荐整理分享简要讲解Python编程中线程的创建与锁的使用(python 编程技巧),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:编写python,用python编写,python 编程技巧,python怎么编,编写python,python 编程技巧,python 编程技巧,python编程bim,内容如对您有帮助,希望把文章链接给更多的朋友!

创建线程创建线程的两种方法:1,直接调用threading.Thread来构造thread对象,Thread的参数如下:class threading.Thread(group=None, target=None, name=None, args=(), kwargs={}) group为None;target为线程将要执行的功能函数;name为线程的名字,也可以在对象构造后调用setName()来设定;args为tuple类型的参数,可以为多个,如果只有一个也的使用tuple的形式传入,例如(1,);kwargs为dict类型的参数,也即位命名参数threading.Thread对象的其他方法:start(),用来启动线程;join(), 等待直到线程结束;isAlive(),获取线程状态

setDeamon(), 设置线程为deamon线程,必须在start()调用前调用,默认为非demon。注意: python的主线程在没有非deamon线程存在时就会退出。

threading.currentthread() , 用来获得当前的线程;threading.enumerate() , 用来多的当前存活的所有线程;

运行结果

2,直接从threading.Thread继承,然后重写__init__方法和run方法

运行结果

简要讲解Python编程中线程的创建与锁的使用(python 编程技巧)

锁的使用假设我们有一个公共数据x(也可以叫共享资源,临界资源),然后跑个线程都去访问这变量并对这个变量进行修改的操作,那么就得到意料之外的结果。

运行结果

由于x是全局变量(共享资源),每个线程对x操作后就休眠了在线程休眠的时候其他线程也都开始执行操作,最终休眠5秒后x的值最终就被修改为了

使用互斥锁来保护公共资源。用互斥锁来保证同一时刻只有一个线程访问公共资源,实现简单的同步互斥锁:threading.Lock 互斥锁方法:acquire() 获取锁 release():释放锁当有一个线程获的锁之后,这把锁就会进入locke状态(被锁起来了),另外的线程试图获取锁的时候就会变成同步阻塞状态,当拥有线程锁的的线程调用锁方法 release()之后就会释放锁,那么锁就会变成开锁unlocked状态,之后再从同步阻塞状态的线程中选择一个来获得锁

运行结果:

可重入锁:threading.RLock()方法和互斥锁一样。假设一个锁嵌套的情况:有个线程以及获取到锁和共享资源了,但是又需要一把锁来获取另外一个资源,那么只要把代码里面的:

修改为:

python 默认参数问题的陷阱 python里面一个常见的陷阱就是函数的默认参数问题。如下:deffunc(mylist=[]):mylist.append(1)returnmylist以下的执行结果如下:printfunc()printfunc()printfunc()printfunc(['a'])

Python文件处理 本文给大家介绍Python文件处理相关知识,具体内容如下所示:1.文件的常见操作文件是日常编程中常用的操作,通常用于存储数据或应用系统的参数。pyt

使用简单工厂模式来进行Python的设计模式编程 计模式的目的是让代码易维护、易扩展,不能为了模式而模式,因此一个简单的工具脚本是不需要用到任何模式的。简单工厂模式又叫静态工厂方法模

标签: python 编程技巧

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

上一篇:Python中time模块和datetime模块的用法示例(python中time模块源代码)

下一篇:python 默认参数问题的陷阱(Python默认参数 数组坑)

  • 小微企业税收新政
  • 税目是什么意思和内容
  • 先到发票后到商品怎么入账
  • 账龄划分模板
  • 小规模纳税人未开票收入如何填申报表
  • 客户减免费用邮件怎么写
  • 劳务派遣公司代发工资需要开票吗
  • 存货周转天数一般在多少为合适
  • 详解劳务报酬个人所得税应该怎么计算?
  • 车辆施救费会计分录
  • 固定资产折旧在资产负债表属于什么
  • 哪些费用可以抵扣进项税吗
  • 不能抵扣的进项发票怎么做分录
  • 持有至到期投资减值准备
  • 银行定期存款转存
  • win11安装失败无法开机
  • macbookpro finder
  • 开源鸿蒙适配
  • typecho插件开发教程
  • php的字符串函数
  • 如何解决windows蓝屏问题
  • 2022年苹果iphone14一个几个颜色
  • 支付给代理机构的手续费
  • 商品购进核算
  • 应收账款保理的主要意图在于
  • wordpress.org
  • 实物资产的管理
  • 临时存款账户销户
  • gpt-3的功能
  • java代理类是什么
  • 垃圾清运费进入会计什么科目
  • vmware workstation pro怎么卸载干净
  • 子公司减资母公司怎么算
  • 实际缴纳的增值税是什么意思
  • 收到专票不认证不抵扣可以吗
  • 在计算土地增值税时质量保证金可以扣除
  • 红字信息表必须要原件吗
  • 车间购买办公用品
  • 应付票据是供应商往来吗
  • 设计模式代理模式
  • mysql中用户和权限的作用
  • mongodb应用实例
  • 海关票怎么做账
  • 零税率和免税的例子
  • 网银转账往来款怎么做账
  • 费用暂估是什么意思
  • 一般纳税人进销不符怎么办
  • 职工教育经费超过扣除限额的时候调增还是调减
  • 房租已付未收发票可以待摊费用吗
  • 固定资产多入账怎么写情况说明
  • 衍生工具属于什么科目
  • 应付职工薪酬的工资是实发工资还是应发工资
  • 年平均资金占用额公式
  • 企业发放职工薪酬的账务处理
  • 房租增值税专用发票需要开多张,单位和数量如何填写
  • 自产产品与视同自产产品
  • 营业执照代办需要什么手续
  • centos7怎么查看进程名称吗
  • 无光驱是不是放不了光盘
  • 重装系统要懂什么
  • windowsxp打开注册表
  • windows怎么将任务栏放大
  • windows server 2016正式版下载激活安装设置教程
  • linux仿mac
  • windows与xp的区别
  • centos7如何设置ip
  • rtmservice.exe - rtmservice是什么进程 有什么用
  • win8无法使用内置管理员账户打开ie
  • windows8使用技巧
  • linux如何使用u盘
  • 事件传播路径
  • 编写一个bash脚本程序,用for循环实现
  • javascript含义
  • inputchange
  • js中!
  • 记住密码自动登录怎么取消
  • 即征即退进项税额分摊方法
  • 中国税务报订阅电话
  • 部落冲突显示此不论描述无效
  • 怎么判断增值税发票是否虚开
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设