![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
文章平均质量分 50
python基础
Gamble6
Settle down
展开
-
Python—多线程按顺序执行
定义三个线程ID分别为ABC,每个线程打印10遍自己的线程ID,按ABCABC……的顺序进行打印输出。from threading import Thread, Lock# 由_acquire解锁执行后释放_release锁def func(_id: str, _acquire: Lock, _release: Lock) -> None: for i in range(10): _acquire.acquire() print(f"id:{_原创 2021-07-22 16:13:19 · 817 阅读 · 0 评论 -
Python—基础
Python: 不可变的对象:Numeber数字、String字符串、Tuple元组 可变的对象:List列表、Set集合、Dict字典 可迭代的对象:列表、元组、字典、集合。——enumerate等循环可迭代。初始化:元组 a=(),单个元素时注意逗号 a=(1,) 列表 a=[] 集合 a=set() 字典 a={}数组和列表的区别:数组内的数据类型必须一样,列表内的数据类型可以不一样。相对于数组,列表会...原创 2021-07-09 16:26:01 · 51 阅读 · 0 评论 -
Python——协程
一、进程和线程:对操作系统来说,线程是最小的执行单元(消耗CPU),进程是最小的资源管理单元(消耗内存)。线程之间的协作存在痛点,耗费性能:1.同步锁。2.线程阻塞状态和可运行状态之间的切换。3.线程上下文的切换。二、协程,英文Coroutines,是一种比线程更加轻量级的存在。正如一个进程可以拥有多个线程一样,一个线程也可以拥有多个协程。!!!协程不是被操作系统内核所管理,而完全是由程序...原创 2021-06-22 16:13:21 · 118 阅读 · 0 评论 -
Python 产生随机数/打乱数组
一.Python自带的random库1.参生n--m范围内的一个随机数:random.randint(n,m)2.产生0到1之间的浮点数:random.random()3.产生n---m之间的浮点数:random.uniform(1.1,5.4)4.产生从n---m间隔为k的整数: random.randrange(n,m,k)5.从序列中随机选取一个元素:random.choice([1, 2, 3...原创 2021-06-17 22:10:35 · 1968 阅读 · 0 评论 -
python——浅谈多线程
一、GIL的全称是Global Interpreter Lock(全局解释器锁)在Python多线程下,每个线程的执行方式:(1)获取GIL(2)执行代码直到sleep或者是Python虚拟机将其挂起(3)释放GIL注意:(1)Python中一个线程对应于c语言中的一个线程,gil使得同一时刻只有一个线程在一个CPU上执行字节码,无法将多个线程映射到多个CPU上执行;(2)GIL会根据执行的字节码行数以及时间片释放GIL,GIL在遇到IO的操作时候主动释放。二、python多线程介绍(1)原创 2021-06-11 00:02:01 · 358 阅读 · 3 评论