Python RLock.acquire() 方法
acquire() 是 Python 中線程模塊的 RLock 類的內置方法。
RLock 類對象遵循可重入性。重入鎖必須由獲取它的線程釋放。一旦一個線程獲得了可重入鎖,同一個線程就可以再次獲得它而不會阻塞;並且線程必須在每次獲得它時釋放它一次。獲取方法用於獲取鎖,無論是阻塞的還是非阻塞的。
模塊:
from threading import RLock
用法:
acquire( blocking=True, timeout=-1)
參數:
-
blocking
:它是一個可選參數,用作阻塞標誌。其默認值為 True。如果,- 價值是
True
:如果線程已經擁有鎖,則將遞歸級別加一並返回;如果另一個線程擁有該鎖,則阻塞直到該線程釋放該鎖。一旦線程被釋放,獲取鎖並將遞歸級別增加一並返回。 - 價值是
False
: 不要阻止。
- 價值是
timeout
:它是一個可選參數,它指定如果其他方法當前正在獲取鎖,調用線程將被阻塞的秒數。它的默認值是 -1,表示線程將被無限期阻塞,直到它獲得鎖。
返回值:
這個方法的返回類型是<class 'bool'>
.該方法用於在實現多線程時獲取鎖,如果成功獲取鎖則返回 True,否則返回 False。
例:
# program to illustrate the use of
# acquire() 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 release()用法及代碼示例
- Python Random.Choices()用法及代碼示例
- Python PIL RankFilter()用法及代碼示例
- Python numpy.less()用法及代碼示例
- Python Sympy Permutation.list()用法及代碼示例
- Python Matplotlib.figure.Figure.subplots_adjust()用法及代碼示例
- Python numpy.tril()用法及代碼示例
- Python Matplotlib.pyplot.matshow()用法及代碼示例
- Python __file__用法及代碼示例
- Python Pandas Panel.add()用法及代碼示例
- Python Matplotlib.axis.Tick.get_window_extent()用法及代碼示例
- Python numpy.fromstring()用法及代碼示例
- Python random.getstate()用法及代碼示例
- Python Scipy integrate.quadrature()用法及代碼示例
- Python numpy.random.standard_normal()用法及代碼示例
- Python Pandas tseries.offsets.CustomBusinessHour.onOffset用法及代碼示例
- Python Matplotlib.pyplot.thetagrids()用法及代碼示例
- Python Pandas TimedeltaIndex.memory_usage用法及代碼示例
- Python os.path.normcase()用法及代碼示例
- Python Pandas DatetimeIndex.day用法及代碼示例
注:本文由純淨天空篩選整理自 Python RLock Class | acquire() Method with Example。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。