当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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