QWriteLocker 類

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

頭: #include <QWriteLocker>
qmake: QT += core

注意: 此類的所有函數 綫程安全 .

公共函數

QWriteLocker (QReadWriteLock * lock )
~QWriteLocker ()
QReadWriteLock * readWriteLock () const
void relock ()
void unlock ()

詳細描述

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

目的對於 QWriteLocker (和 QReadLocker ) 是簡化 QReadWriteLock 鎖定和解鎖。鎖定和解鎖語句或在異常處理中,代碼容易齣錯且難以調試。 QWriteLocker 可以用於這種狀況以確保鎖的狀態始終定義良好。

這裏的範例是使用 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();
}
					

The QMutexLocker 文檔編製展示使用鎖定器對象大大簡化編程的範例。

另請參閱 QReadLocker and QReadWriteLock .

成員函數文檔編製

QWriteLocker:: QWriteLocker ( QReadWriteLock * lock )

構造 QWriteLocker 和鎖 lock for writing. The lock will be unlocked when the QWriteLocker 被銷毀。若 lock 為 0, QWriteLocker 什麼都不做。

另請參閱 QReadWriteLock::lockForWrite ().

QWriteLocker:: ~QWriteLocker ()

銷毀 QWriteLocker 並解鎖被傳遞給構造函數的鎖。

另請參閱 QReadWriteLock::unlock ().

QReadWriteLock *QWriteLocker:: readWriteLock () const

返迴指嚮被傳遞給構造函數的讀寫鎖的指針。

void QWriteLocker:: relock ()

重新鎖定被解鎖的鎖。

另請參閱 unlock ().

void QWriteLocker:: unlock ()

解鎖關聯此鎖定器的鎖。

另請參閱 QReadWriteLock::unlock ().