• 技术文章 >Python技术 >Python基础教程

    Python中threading.RLock的使用

    小妮浅浅小妮浅浅2021-05-28 09:22:14原创4071

    1、和Lock的不同

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

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

    2、实例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    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学习推荐:python教学

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

    专题推荐:python threadingrlock
    上一篇:Python死锁的产生原因 下一篇:Python获取GIL锁的流程

    相关文章推荐

    • Python如何标识线程?• Python实例属性的优先级分析• Python类成员的访问限制• Python魔术方法的三个特点• Python中装饰属性的方法• Python死锁的产生原因

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网