
SyncReaderWriter::readlock은 여러 쓰레드가 동시에 읽기 작업을 수행할 수 있도록 허용하는 기능입니다. 하지만, readlock을 사용할 때 하나의 쓰레드가 읽기 작업을 수행하는 동안 다른 쓰레드가 readlock을 획득할 수 있습니다.
readlock을 사용할 때, 다른 쓰레드가 readlock을 획득할 수 있는 이유는 readlock이 읽기 작업을 수행하는 쓰레드가 읽기 작업을 완료할 때까지 유지되지 않고, 다른 쓰레드가 readlock을 획득할 수 있기 때문입니다.
readlock이 이미 획득된 상태에서 다른 쓰레드가 writelock을 획득하려고 할 때, writelock은 readlock을 강제로 해제하고, writelock을 획득합니다.
writelock을 획득한 쓰레드가 readlock을 획득할 수는 없습니다. writelock이 이미 획득된 상태에서 readlock을 획득하려고 하면 writelock이 강제로 해제되지 않기 때문에, readlock을 획득할 수 없습니다.
2025-06-30 15:00