Movatterモバイル変換


[0]ホーム

URL:


We bake cookies in your browser for a better experience. Using this site means that you consent.Read More

Menu

Qt Documentation

QWriteLocker Class

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

Header:#include <QWriteLocker>

Note: All functions in this class arethread-safe.

Public Functions

QWriteLocker(QReadWriteLock * lock)
~QWriteLocker()
QReadWriteLock *readWriteLock() const
voidrelock()
voidunlock()

Detailed Description

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

The purpose ofQWriteLocker (andQReadLocker is to simplifyQReadWriteLock 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 usesQWriteLocker to lock and unlock a read-write lock for writing:

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

It is equivalent to the following code:

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

TheQMutexLocker documentation shows examples where the use of a locker object greatly simplifies programming.

See alsoQReadLocker andQReadWriteLock.

Member Function Documentation

QWriteLocker::QWriteLocker(QReadWriteLock * lock)

Constructs aQWriteLocker and lockslock for writing. The lock will be unlocked when theQWriteLocker is destroyed. Iflock is zero,QWriteLocker does nothing.

See alsoQReadWriteLock::lockForWrite().

QWriteLocker::~QWriteLocker()

Destroys theQWriteLocker and unlocks the lock that was passed to the constructor.

See alsoQReadWriteLock::unlock().

QReadWriteLock * QWriteLocker::readWriteLock() const

Returns a pointer to the read-write lock that was passed to the constructor.

void QWriteLocker::relock()

Relocks an unlocked lock.

See alsounlock().

void QWriteLocker::unlock()

Unlocks the lock associated with this locker.

See alsoQReadWriteLock::unlock().

© 2016 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 theGNU 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.


[8]ページ先頭

©2009-2025 Movatter.jp