남궁성 님의 "Java의 정석" 책을 정리한 포스팅 입니다. 9. 동기화한 스레드가 진행중인 작업을 다른 스레드가 간섭하지 못하게 막는 것입니다.멀티스레드의 경우 여러 스레드가 같은 프로세스 내의 자원을 공유해서 작업하므로 서로의 작업에 영향을 주게 됩니다.한 스레드가 특정 작업을 끝마치기 전까지 다른 스레드에 의해 방해받지 않도록 하는것이 필요합니다. 임계영역공유데이터를 사용하는 코드 영역입니다. Lock단 하나의 스레드만 공유데이터를 사용하도록 하는 매커니즘입니다.해당 공유데이터를 사용하는 스레드는 락을 획득합니다.임계영역의 모든 코드를 수행하고 나서 락을 반납하며, 다른 스레드가 반납된 락을 획득하여 임계영역에 접근할 수 있습니다. synchronizedsynchronized 키워드를 붙여 임계영역..