PySide6.QtCore.QWriteLocker

class QWriteLocker

QWriteLocker 类是一个便利类,它简化了读写锁的锁定和解锁以进行写访问。更多

概要

方法

注意

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

详细描述

警告

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

QWriteLocker(以及QReadLocker)的目的是简化QReadWriteLock的锁定和解锁。在异常处理代码中锁定和解锁语句容易出错且难以调试。QWriteLocker可以在这种情况下使用,以确保锁的状态始终是明确定义的。

这是一个使用 QWriteLocker 来锁定和解锁读写锁以进行写入的示例:

lock = QReadWriteLock()
def writeData(data):

    locker = QWriteLocker(lock)
    ...

它等同于以下代码:

lock = QReadWriteLock()
def writeData(data):

    lock.lockForWrite()
    ...
    lock.unlock()

QMutexLocker 文档展示了使用锁对象大大简化编程的示例。

__init__(readWriteLock)
Parameters:

readWriteLockQReadWriteLock

构造一个QWriteLocker并锁定lock进行写入。当QWriteLocker被销毁时,锁将被解锁。如果lock为零,QWriteLocker则不执行任何操作。

另请参阅

lockForWrite()

__enter__()
Return type:

QWriteLocker

__exit__(arg__1, arg__2, arg__3)
Parameters:
  • arg__1 – 对象

  • arg__2 – 对象

  • arg__3 – 对象

readWriteLock()
Return type:

QReadWriteLock

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

relock()

重新锁定一个已解锁的锁。

另请参阅

unlock()

unlock()

解锁与此储物柜相关联的锁。

另请参阅

unlock()