threading RLock 可重入锁

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了threading RLock 可重入锁相关的知识,希望对你有一定的参考价值。

threading Rlock 多线程代码

import threading
import time

lock = threading.RLock()

print(lock.acquire())

def sub(l):
    print(‘{}: {}‘.format(threading.current_thread(), l.acquire()))
    print(‘{}: {}‘.format(threading.current_thread(), l.acquire(False)))
    print(‘lock in sub thead {}‘.format(lock))
    l.release()
    print(‘sub 1‘)
    l.release()
    print(‘sub 2‘)

threading.Timer(2, sub, args=(lock, )).start()
print(‘-------------‘)

print(lock.acquire())
lock.release()
time.sleep(5)
print("====>释放主进程锁")
lock.release()

以上是关于threading RLock 可重入锁的主要内容,如果未能解决你的问题,请参考以下文章

Python的线程15 可重入锁RLock

Python的线程15 可重入锁RLock

Lock和RLock有啥区别

可重入锁

锁-概念:可重入锁可中断锁公平锁读写锁

java中可重入锁和自旋锁