Java의 동기화(synchronized, wait(), notify())
·
JVM/Java
안녕하세요. 오늘은 자바의 동기화에 대해서 알아보려고 합니다.자바의 동기화에 대해서 알려면, 모니터, synchronized 키워드, wait() 메서드, notify() 메서드를 잘 이해해야 합니다.모니터모니터란?자바는 모니터를 이용해서 동기화를 지원합니다. 이 모니터는 자바의 각 객체마다 하나씩 소유하고 있습니다.그렇다면, 모니터란 뭘까요? 모니터는 뮤텍스, 세마포어 같은 동기화 방식의 추상화된 동기화 방식이라고 할 수 있습니다.간단하게 뮤텍스/세마포어의 방식을 알아볼까요?public void run() { lock() // do something unlock()}이런 방식으로 임계 영역을 접근하기 전에 명시적으로 잠금과 해제를 선언하는 방식입니다. 반면, 모니터의 경우는 아래와 같은 방식입니다.pu..