QWriteLocker Class Reference

[ QtCore module]

The QWriteLocker class is a convenience class that simplifies locking and unlocking read-write locks for write access. 更多...

方法

Special Methods


详细描述

The QWriteLocker class is a convenience class that simplifies locking and unlocking read-write locks for write access.

The purpose of QWriteLocker (and QReadLocker is to simplify QReadWriteLock locking and unlocking. Locking and unlocking statements or in exception handling code is error-prone and difficult to debug. QWriteLocker can be used in such situations to ensure that the state of the lock is always well-defined.

Here's an example that uses QWriteLocker to lock and unlock a read-write lock for writing:

 QReadWriteLock lock;
 void writeData(const QByteArray &data)
 {
     QWriteLocker locker(&lock);
     ...
 }
			

它相当于以下代码:

 QReadWriteLock lock;
 void writeData(const QByteArray &data)
 {
     lock.lockForWrite();
     ...
     lock.unlock();
 }
			

QMutexLocker 文档编制 shows examples where the use of a locker object greatly simplifies programming.


方法文档编制

QWriteLocker.__init__ ( self , QReadWriteLock   areadWriteLock )

构造 QWriteLocker and locks lock for writing. The lock will be unlocked when the QWriteLocker is destroyed. If lock is zero, QWriteLocker does nothing.

另请参阅 QReadWriteLock.lockForWrite ().

QReadWriteLock QWriteLocker.readWriteLock ( self )

Returns a pointer to the read-write lock that was passed to the 构造函数。

QWriteLocker.relock ( self )

重新锁定被解锁的锁。

另请参阅 unlock ().

QWriteLocker.unlock ( self )

解锁关联此锁定器的锁。

另请参阅 QReadWriteLock.unlock ().

object QWriteLocker.__enter__ ( self )

QWriteLocker.__exit__ ( self , object  type , object  value , object  traceback )