728x90 reentrantlock concurrenthashmap1 ReentrantLock 과 ConcurrentHashMap을 함께 사용해보자 앞의 블로그에서 언급했던것처럼 ReentrantLock 특징 중하나가 여러 쓰레드 중 동시에 락을 획득할 수 있는 쓰레드는 오직 "하나"라는 것이다.이를 획득하기 위해 내부적으로 직렬화된 작업이 들어가게 되고 오직 그중 한번에 하나만의 락을 취할 수 있는것이다. 그럼 우리가 서로 다른 목적으로 ReentrantLock 을 동시에 사용하게 되는 경우는 어떨까?예를 들면, 상품별 재고 수량 증가과 차감을 고민해 볼 수 있다.동일한 상품과 옵션일때만, 동시성 제어가 필요한 상황인데(청바지 M 사이즈라고 가정해보자), ReentrantLock 단독으로 사용하게 되면, 상관없는 다른 상품(티셔츠)의 수량증가도 막히게 된다.(왜냐? 한번에 하나씩이니깐) 이는 비지니스 시나리오에 부합하지 않기때문에,Concurren.. 2024. 12. 21. 이전 1 다음 728x90