RSS
菜单

Python 的 Lock、RLock、Semaphore 区别?

Lock(互斥锁):acquire/release,同一线程重复 acquire 会死锁;RLock(可重入锁):同一线程可多次 acquire(计数),必须 release 同样次数,适合递归函数/嵌套锁;Semaphore(信号量):限流,acquire 减一(为 0 阻塞)、release 加一,控制同时进入的线程数(如连接池);BoundedSemaphore:release 超过初始值会报错(防 bug)。Condition:条件变量(wait/notify 生产者消费者)。用 with lock: 保证释放。

下载推广海报

圈内讨论推广海报

《Python 的 Lock、RLock、Semaphore 区别?》完整推广海报
一起交流

全部回复 0

分享经验,让问题更进一步

讨论,从你的观点开始

还没有回复,欢迎补充经验或分享不同的思路。