位置: 编程技术 - 正文

简要讲解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默认参数 数组坑)

  • 增值税留抵税额计入什么科目
  • 企业一般会涉及哪些行业
  • 以前多摊销
  • 企业所得税申报表在哪里查询
  • 运输企业印花税按什么缴纳
  • 对税务机关的加强措施
  • 管理费用是负的是什么意思
  • 不相关企业之间调拨资产该如何做账务处理?
  • 非独立核算的公司怎么报税
  • 企业自行去税务开具房租发票税款怎么做?
  • 允许列支的捐赠比例
  • 7.1增值税普通发票怎么开?
  • 个人缴付的年金是什么
  • 剑灵2.0win7
  • 在建工程工程款优先受偿权
  • 应收账款余额包括预收账款
  • 出口退税率和进项一致吗
  • 物业公司收取水电周转金后果
  • 无形资产摊销是什么科目
  • 如何检查文档
  • win10更新补丁卸载不了
  • 兼职劳务费税率是多少
  • 使用mac什么意思
  • 补贴收入什么时候到账
  • 红字发票信息表填好后再怎么操作
  • 固定资产抵账的增值税
  • vue错误提示
  • 其他收益年末需要结转吗
  • 劳务公司给包工头打款备注写什么
  • 后端怎么返回数据给前端
  • 基于中国国情的中国式现代化具有哪些特色
  • echarts api文档
  • thinkphp和php
  • thinkphp如何连接数据库
  • shell和pycharm
  • 累计折旧累计摊销属于现金流吗
  • 一般纳税人无票收入怎么报增值税
  • 出口退税会计分局
  • 企业注销需要清产核资吗
  • 经营户个人所得税
  • 请问在accessdemo1
  • 其他债权投资计提减值影响所有者权益吗
  • 雇用残疾人税收优惠
  • 以前年度损益调整怎么结转
  • 项目评审结果
  • 销售免税农产品的会计分录
  • 快递公司的会计都需要做什么
  • 员工 成本
  • 营改增是什么时候开始实行的?
  • 外购货物用于在建工程分录
  • 借款利息计入哪个科目
  • 企业分红给个人的税收
  • mysql 死锁解决
  • 笔怎么画最好看
  • windows的使用
  • Ubuntu配置永久IP配置文件
  • ubuntu20.10
  • SMceMan.exe - SMceMan进程是什么意思
  • win7怎么看最近访问位置
  • window10通知
  • hyper run
  • linux操作系统配置网络
  • win8使用教程和技能
  • VS2012中C++,#include无法打开源文件
  • perl中哈希如何赋值
  • nodejs filereader
  • activity的生命周期有哪些状态
  • 用wasfile.zip智能批量删除文件
  • Node.js中的construct
  • js中的垃圾回收机制有哪些方法
  • Ubuntu修改用户名
  • Android--VideoPlay--视频播放器
  • unity 3渲2
  • js实现生成随机的圆
  • jquery.filedownload.js
  • js实现省份和市级联动
  • 河南省电子税务局官网入口
  • 2023居民医保怎么交
  • 新疆维吾尔自治区民族团结进步工作条例
  • 蜂窝煤利润怎么样
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设