이 페이지에서

QReadLocker Class

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

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

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

공개 함수

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

상세 설명

QReadLocker(및 QWriteLocker)의 목적은 QReadWriteLock 잠금 및 잠금 해제를 단순화하는 것입니다. 문이나 예외 처리 코드에서 잠금 및 잠금 해제 작업을 수행하면 오류가 발생하기 쉽고 디버깅이 어렵습니다. QReadLocker를 사용하면 이러한 상황에서 잠금 상태가 항상 명확하게 정의되도록 할 수 있습니다.

다음은 QReadLocker를 사용하여 읽기 전용으로 읽기-쓰기 잠금을 잠그고 해제하는 예제입니다:

QReadWriteLock lock;

QByteArray readData()
{
    QReadLocker locker(&lock);
    //...
    return data;
}

이는 다음 코드와 동일합니다:

QReadWriteLock lock;

QByteArray readData()
{
    lock.lockForRead();
    //...
    lock.unlock();
    return data;
}

QMutexLocker 문서에는 락커 객체를 사용하여 프로그래밍을 크게 단순화한 예제가 나와 있습니다.

QWriteLocker 및 QReadWriteLock도 참조하십시오 .

멤버 함수 문서

QReadLocker::QReadLocker(QReadWriteLock *lock)

QReadLocker 객체를 생성하고 lock 을 읽기 전용으로 잠급니다. QReadLocker가 소멸되면 잠금이 해제됩니다. lock 가 0인 경우, QReadLocker는 아무 작업도 수행하지 않습니다.

QReadWriteLock::lockForRead()도 참조하십시오 .

[noexcept] QReadLocker::~QReadLocker()

QReadLocker 를 파기하고, 생성자에 전달된 잠금을 해제합니다.

QReadWriteLock::unlock()도 참조하십시오 .

QReadWriteLock *QReadLocker::readWriteLock() const

생성자에 전달된 읽기-쓰기 잠금에 대한 포인터를 반환합니다.

void QReadLocker::relock()

잠금 해제된 자물쇠를 다시 잠급니다.

unlock()도 참조하십시오 .

void QReadLocker::unlock()

이 사물함에 연결된 자물쇠를 엽니다.

QReadWriteLock::unlock()도 참조하십시오 .

© 2026 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.