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文档显示了 locker 对象的使用大大简化了编程的例子。

另请参阅

QReadLocker QReadWriteLock

__init__(readWriteLock)#
参数:

readWriteLockQReadWriteLock

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

另请参阅

lockForWrite()

__enter__()#
返回类型:

QWriteLocker

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

  • arg__2 – 对象

  • arg__3 – 对象

readWriteLock()#
返回类型:

QReadWriteLock

返回构造函数中传入的读-写锁的指针。

relock()#

重新锁定已解锁的锁。

另请参阅

解锁()

解锁()#

解锁与此锁关联的锁。

另请参阅

解锁()