QWriteLocker Class
QWriteLockerクラスは、書き込みアクセスのための読み書きロックのロックと解除を簡素化する便利なクラスです。詳細...
ヘッダー | #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()も参照 。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.