읽기/쓰기 잠금을 활용한 효율적인 캐시 구현 방법
1. 이미 존재하는 동기화 기법(모니터)으로 충분하지 않나요? 왜 읽기/쓰기 잠금이 필요한가요?
모든 동시성 문제를 해결할 수 있는 것은 아닙니다. 특히 읽기 작업이 많고 쓰기 작업이 적은 시나리오에서는 읽기/쓰기 잠금이 성능 향상에 큰 도움이 됩니다. 이 경우, 여러 스레드가 동시에 읽기를 수행할 수 있어 처리량이 크게 증가합니다.
2. 읽기/쓰기 잠금은 자바 ...
6월 15일 19:32에 게시됨
낙관적 및 비관적 락 개념과 구현 방식
낙관적 락과 비관적 락 정의
비관적 락(Pessimistic Locking): 데이터가 다른 스레드에 의해 수정될 가능성을 항상 고려하는 방식입니다. 이는 자원을 항상 잠금 상태로 유지하며, 다른 스레드가 해당 자원에 접근할 때까지 차단합니다. Java에서 synchronized와 ReentrantLock은 이러한 비관적 접근 방식을 따릅니다.
낙관적 락(Optimistic Locking): 데이터가 수정되 ...
5월 29일 18:04에 게시됨