쓰레드의 동기화 : 하나의 쓰레드가 진행중인 작업을 다른 쓰레드가 간섭하지 못하도록 막는 것. * 사전에 알아야할 개념 * 잠금(락,lock) : 모든 객체가 한개씩 갖고 있으며, 어떤 쓰레드가 lock을 가지면 다른 쓰레드들은 lock을 얻을 때까지 기다린다. * 임계영역(critical section) : 공유 데이터를 사용하는 코드 영역, lock을 획득한 하나의 쓰레드가 코드를 수행할 수 있는 영역 synchronized를 이용한 동기화 : 두 가지 방법있는데, 공통점은 lock의 획득과 반납이 모두 자동적으로 이루어진다는 것이다. 그래서 사용자는 임계영역만 설정해주면 된다. 1. 메서드 전체를 임계영역으로 지정 : 쓰레드는 synchronized메서드가 호출된 시점부터 해당 메서드가 포함된 객체..