當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python RLock release()用法及代碼示例


Python RLock.release() 方法

release() 是 Python 中線程模塊的 RLock 類的內置方法。

RLock 類對象遵循可重入性。重入鎖必須由獲取它的線程釋放。一旦一個線程獲得了可重入鎖,同一個線程就可以再次獲得它而不會阻塞;並且線程必須在每次獲得它時釋放它一次。此方法釋放鎖,從而遞減遞歸級別。如果在遞減後它變為零,則鎖定被設置為解鎖,並且如果任何其他線程被阻塞等待鎖定解鎖,則允許其中一個線程繼續進行。如果降低遞歸級別後仍然不為零,則鎖保持鎖定狀態並仍由調用線程擁有。

模塊:

    from threading import RLock

用法:

    release()

參數:

  • None

返回值:

這個方法的返回類型是<class 'NoneType'>.該方法不返回任何內容。它釋放獲得它的線程並降低鎖定線程的遞歸級別。如果級別為零,則由線程解鎖,如果級別仍為非零,則僅由調用線程擁有。

例:

# program to illustrate the use of 
# release() method in RLock class
  
# importing the module 
import threading 
  
# initializing the shared resource 
x = 0
  
# creating an RLock object  
rlock = threading.RLock() 
  
# Creating first thread
rlock.acquire() 
x = x + 1
  
# the below thread is trying to access  
# the shared resource  
rlock.acquire()  
x = x + 2
rlock.release()

rlock.release() 
# Rlock released by both the threads
  
# displaying the value of shared resource 
print("Displaying the final value of the shared resource x:", x)

輸出

Displaying the final value of the shared resource x:3


相關用法


注:本文由純淨天空篩選整理自 Python RLock Class | release() Method with Example。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。