QWriteLocker Class
QWriteLockerクラスは、書き込みアクセスのための読み書きロックのロックと解除を簡素化する便利なクラスです。詳細...
Header: | #include <QWriteLocker> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
- 継承メンバを含む全メンバ一覧
- QWriteLocker はスレッドクラスに属しています。
注意:このクラスの関数はすべてスレッドセーフです。
パブリック関数
QWriteLocker(QReadWriteLock *lock) | |
~QWriteLocker() | |
QReadWriteLock * | readWriteLock() const |
void | relock() |
void | unlock() |
詳細説明
QWriteLocker (およびQReadLocker )の目的は、QReadWriteLock のロックとアンロックを簡素化することです。ステートメントや例外処理コードでのロックとアンロックはエラーが発生しやすく、デバッグが困難です。QWriteLockerは、ロックの状態が常に明確に定義されていることを保証するために、そのような状況で使用することができます。
以下は、QWriteLockerを使用して、読み取り/書き込みロックのロックと書き込みロックの解除を行う例です:
QReadWriteLock lock; void writeData(const QByteArray &data) { QWriteLocker locker(&lock); ... }
これは以下のコードと同等です:
QReadWriteLock lock; void writeData(const QByteArray &data) { lock.lockForWrite(); ... lock.unlock(); }
QMutexLocker ドキュメントでは、ロッカー・オブジェクトの使用によってプログラミングが大幅に簡素化される例を示しています。
QReadLocker およびQReadWriteLockも参照して ください。
メンバ関数のドキュメント
QWriteLocker::QWriteLocker(QReadWriteLock *lock)
QWriteLocker を構築し、lock を書き込み用にロックします。ロックは、QWriteLockerが破棄されると解除される。lock
がゼロの場合、QWriteLocker は何もしない。
QReadWriteLock::lockForWrite()も参照のこと 。
[noexcept]
QWriteLocker::~QWriteLocker()
QWriteLocker を破棄し、コンストラクタに渡されたロックのロックを解除します。
QReadWriteLock::unlock()も参照 。
QReadWriteLock *QWriteLocker::readWriteLock() const
コンストラクタに渡された読み書きロックへのポインタを返します。
void QWriteLocker::relock()
ロックされていないロックを再ロックします。
unlock()も参照 。
void QWriteLocker::unlock()
このロッカーに関連付けられたロックを解除します。
QReadWriteLock::unlock() も参照して ください。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。