python中threading模块详解及常用方法_Python常用模块功能简介(二)threading
threading模块基本用法
threading.Thread.join函数解释
threading.Thread.join(timeout=None)调用该函数的线程会阻塞调用该线程的主线程和其它线程,直到该线程结束结束为止,或者达到timeout时间为止。
threading.Thread.daemon函数解释
该属性是一个boolean值,决定该线程是否是一个保护线程(后台线程)。它的意思是该线程是为了服务调用该线程的主线程的,即当主线程结束后,不论该线程是否运行完毕,都会立刻结束。
threading.Lock类解释
注意的是,threading.Lock表示的线程锁概念,是一个独立的存在,它不被任何一个线程所拥有。所以其实是各个线程来acquire(抢占),等抢到的那个线程release后其他线程才能继续抢占。
并且threading.Lock类支持context management protocol,即可以使用with语句,可以想见它的__enter__函数中实现了acquire,在它的__exit__函数中实现了release。
threading.local类解释
该类提供一个TLS(Thread Local Storage)机制,具体来说我们定义一个全局变量var=threading.local(),对于var我们可以任意赋予其属性来存储数据。而当各个线程使用这个全局变量var时,都会自动生成一个自己的版本,不会相互影响(本身定义在全局的var属于主线程)。该类的意义不是在于提供一个全局变量让各个线程可以进行修改,从而完成某种逻辑(买票窗口案例),这是线程锁需要处理的事情。该类其实是提供了一个安全的全局变量,让各线程不用在编写调用时传递很多参数,是一种编程范式上的优化,具体见:深入理解Python的TLS机制和Threading.local()
threading模块中的常用函数
threading.current_thread()返回当前所属的线程类。
threading.main_thread()返回主线程类。
threading.active_count()返回当前仍在执行的线程数量。
threading.enumerate()返回当前所有仍在执行的线程所组成的一个列表。
python中threading模块详解及常用方法_Python常用模块功能简介(二)threading相关推荐
- python中的GIL详解
python中的GIL详解 参考Python-- GIL 锁简述 GIL是什么 首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念.就 ...
- python的抽象类详解_第7.19节 Python中的抽象类详解:abstractmethod、abc与真实子类...
第7.19节 Python中的抽象类详解:abstractmethod.abc与真实子类 一. 引言 前面相关的章节已经介绍过,Python中定义某种类型是以实现了该类型对应的协议为标准的,而不是以继 ...
- Python中self用法详解
Python中self用法详解 https://blog.csdn.net/CLHugh/article/details/75000104 首页 博客 学院 下载 图文课 论坛 APP 问答 商城 V ...
- python中的字符串详解(附实现文字跑马灯效果)
python中的字符串详解 1.什么是字符串 相信大家对字符串应该是再熟悉不过了吧,因为日常生活中的一句话,或是路边的一则广告,其实它都相当于一个字符串,而顾名思义,字符串也就是一串串的由零个或多 ...
- 【 Python 中 int 用法详解】(转载)
Python 中 int 用法详解 欢迎转载,转载请注明出处! 文章目录 Python 中 int 用法详解 0. 参考资料 1. int 的无参数调用 2. int 接收数字作为参数 3. int ...
- Python 中 int 用法详解
Python 中 int 用法详解 欢迎转载,转载请注明出处! 文章目录 Python 中 int 用法详解 0. 参考资料 1. int 的无参数调用 2. int 接收数字作为参数 3. int ...
- Python 中 with 用法详解
浅谈 Python 的 with 语句:https://developer.ibm.com/zh/articles/os-cn-pythonwith/ python3,浅谈with的神奇魔法:http ...
- python中match方法返回字符串的长度_Python re模块与正则表达式详解
Python 中使用re模块处理正则表达式,正则表达式主要用来处理文本中的查找,匹配,替换,分割等问题:我们先来看一个问题,切入正则表达式. 问题: 匹配字符串,最少以3个数字开头.使用Python代 ...
- python中new方法详解及_Python中new方法的详解
new_ 方法是什么? __new__方法其实就是创建对象的方法 new()方法是在类准备将自身实例化时调用. 一个类可以有多个位置参数和多个命名参数,而在实例化开始之后,在调用 init()方法之前 ...
最新文章
- [转]Gearman分布式远程过程处理框架
- laravel文件存储Storage
- 15支持哪些数据库版本 tfs_我司虚拟主机支持脚本及数据库版本一览表
- python安装MySQLdb包遇到的坑:EnvironmentError: mysql_config not found
- 访问进程环境变量environ时的一个坑
- k8s使用kubectl命令部署nginx并以nodeport方式暴露端口
- vb代码大全_【必会】Rnd随机函数在VB编程中的广泛应用
- vim莫名假死的解决办法
- golang(2):beego 环境搭建
- Became Jane(成为简.奥斯丁)
- 行上下移动_这有一台你迟早要用到的手持式“移动空调”
- MVC如何分离Controller与View在不同的项目?
- CCCC-GPLT L1-034. 点赞 团体程序设计天梯赛
- unix grep命令_Linux / UNIX中的Grep命令
- 六年一轮回:大数据改变的,不仅仅是我的专业!
- 怎样实现iMessage群发
- IDEA 问题记录-2022
- paypal开发者账户申请步骤(最新最实用)
- 基于STM32单片机的篮球计时记分器proteus仿真原理图PCB
- linux项目部署、Nginx详解
热门文章
- Java反射原理学习之MethodHandle debug
- why always WebContent is added as prefix of url when repository request served
- 关于SAP CRM One Order状态(Status)和Status Profile的处理逻辑
- 自己开发的在线视频下载工具,基于Java多线程
- python列表函数方法_与Python列表相关的函数
- log4j配置_是时候了解一下log4j2各种配置的含义了!
- verilog 简单module_一个简单的verilog小程序
- 怀旧服服务器怎么调整显卡性能,用顶级配置玩wow怀旧服是怎样的体验?
- 李炎恢+php+下载,李炎恢thinkphp视频教程
- 利用滞后——超前系统解决高阶随动系统(课程设计)