[ Blog ] Java synchronized 동기화 정리
synchronized method
클래스의 인스턴스에 대해서 락을 걸게 됨. 하나의 인스턴스의 synchronized 메서드를 여러 스레드가 동시에 실행시킬 수 없음
static synchronized method
클래스에 대해서 락을 걸게 됨. 일반적인 static의 범위와 동일
synchronized block
- synchronized block은 인스턴스의 block단위로 lock을 건다. 이때, lock객체를 지정해줘야한다.
- lock은 synchronized block에 진입할 때 획득하고 빠져나오면서 반납하므로 block으로 범위를 지정하는게 더 효율적이다.
static synchronized block
- static method 안에 synchronized block을 지정할 수 있음
- static synchroinzed method방식과 차이는 lock객체를 지정하고 block으로 범위를 한정지을 수 있다는 점