QWriteLocker Class

QWriteLocker 클래스는 쓰기 액세스를 위한 읽기-쓰기 잠금 및 잠금 해제를 간소화하는 편의 클래스입니다. 더 보기...

헤더: #include <QWriteLocker>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

참고: 이 클래스의 모든 함수는 스레드 안전합니다.

공용 함수

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 문서에는 락커 객체를 사용하여 프로그래밍을 크게 간소화하는 예제가 나와 있습니다.

QReadLockerQReadWriteLock도 참조하세요 .

멤버 함수 문서

QWriteLocker::QWriteLocker(QReadWriteLock *lock)

QWriteLocker를 생성하고 lock 을 쓰기 위해 잠급니다. QWriteLocker가 파괴되면 잠금이 해제됩니다. lock 이 0이면, 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.