Python中threading.RLock的使用

Python中threading.RLock的使用
Python中threading.RLock的使用

1、和Lock的不同

(1)同一个线程可以对RLock请求多次,且RLock必须是本线程;

(2)如果用lock = threading.Lock(),则自动构成死锁,因为Lock只能被请求一次,所以第二次会一直等待下去。

2、实例

import threading
lock = threading.RLock()
def f():  
with lock:    
g()    
h()
def g():  
with lock:    
h()    
do_something1()
def h():  
with lock:    
do_something2()

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注