synchronized블럭으로 동기화를 하면 자동적으로 lock이 잠기고 풀리기 때문에 편리하다.
심지어 synchronized블럭내에서 예외가 발생해도 lock이 자동적으로 풀린다. 그러나 때로는 같은 메서드 내에서만 lock을 걸 수 있다는 제약이 풀편하기도 하다 그럴때 이 lock클래스를 사용한다.
ReentrantLock - 재진입이 가능한 lock, 가장 일반적인 배타 lock
ReentrantReadWriteLock - 읽기에는 공유적이고 쓰기에는 배타적인 lock
StempedLock - ReentrantReadWriteLock에 낙관적인 lock의 기능을 추가
'자바기초' 카테고리의 다른 글
Comparable과 Comparator interface (0) | 2022.08.31 |
---|---|
static class용도 (0) | 2022.08.23 |
스레드 동기화 (0) | 2022.08.16 |
@SuppressWarnings 종류 (0) | 2022.08.12 |
컴파일 할때 @Override (0) | 2022.08.12 |