摘要:
1.同一线程对一把锁连续acquire 死锁 2.多把锁(互斥锁,递归锁),并且在多个线程中 交叉使用 会死锁 如果是互斥锁,出现了死锁现象,最快速的解决方法就是把互斥锁变成一把递归锁 或者是把两把互斥锁变成一把互斥锁 互斥锁 效率低 但是会出现死锁现象 from threading import 阅读全文
posted @ 2021-02-04 22:31
苦行僧冬*婷
阅读(59)
评论(0)
推荐(0)
摘要:
1.+= -= *= /= if while会数据不安全 import dis a = 1 def func(): global a a += 1 print(dis.dis(func)) 上面函数通过dis模块查看底层指令如下 底层指令 108 0 LOAD_GLOBAL 0 (a) 把a加载到c 阅读全文
posted @ 2021-02-04 22:25
苦行僧冬*婷
阅读(58)
评论(0)
推荐(0)
摘要:
1. 线程可以利用多核,但是在cpython中 有GIL全局解释器锁,所以不能利用多核 2.线程enumerate函数 导入之后会和内置函数enumerate重名,需要做特殊的处理 1. 起别名 from threading import enumerate as en 2.导入 import th 阅读全文
posted @ 2021-02-04 21:59
苦行僧冬*婷
阅读(45)
评论(0)
推荐(0)
摘要:
单例模式 : 确保某个类只有一个实例化对象 import time class A: from threading import Lock __instance = None lock = Lock() def __new__(cls, *args, **kwargs): #加锁确保时间片不发生轮转 阅读全文
posted @ 2021-02-04 20:18
苦行僧冬*婷
阅读(55)
评论(0)
推荐(0)

浙公网安备 33010602011771号