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()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章