您的当前位置:首页正文

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()

以上就是Python中threading.RLock的使用,希望对大家有所帮助。更多Python学习推荐:

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。