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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。