class QReadLocker#

QReadLocker》类是一个方便的类,用于简化对读-写锁的读取访问的加锁和解锁。 更多...

概要#

方法#

注释

本文档可能包含从 C++ 自动翻译到 Python 的代码片段。我们始终欢迎使用对片段翻译的贡献。如果您发现翻译有误,也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 上创建工单来告知我们

详细描述#

警告

本节包含从 C++ 自动翻译到 Python 的代码片段,可能包含错误。

QReadLocker(以及QWriteLocker)的目的是简化QReadWriteLock的锁定和解锁。在锁定和解锁语句或异常处理代码中容易出现错误,并且难以调试。QReadLocker可用于此类情况,以确保锁的状态始终得到良好定义。

以下是一个使用QReadLocker锁定和解锁读/写锁进行读取的示例

lock = QReadWriteLock()
def readData():

    locker = QReadLocker(lock)
    ...
    return data

它等同于以下代码

lock = QReadWriteLock()
def readData():

    lock.lockForRead()
    ...
    lock.unlock()
    return data

QMutexLocker文档显示了使用锁对象可以极大地简化编程的示例。

__init__(readWriteLock)#
参数:

readWriteLockQReadWriteLock

构造一个QReadLocker并将lock锁定以供读取。当QReadLocker被销毁时,锁将自动解锁。如果lock为零,则QReadLocker不执行任何操作。

另请参阅

lockForRead()

__enter__()#
返回类型:

QReadLocker

__exit__(arg__1, arg__2, arg__3)#
参数:
  • arg__1 – 对象

  • arg__2 – 对象

  • arg__3 – 对象

readWriteLock()#
返回类型:

QReadWriteLock

返回传递给构造函数的读写锁的指针。

relock()#

重新锁定未解锁的锁。

另请参阅

unlock()

unlock()#

解锁与此锁器关联的锁。

另请参阅

unlock()