Java synchronized 수식자

메서드 동기화 실행 – synchronized 수식자

멀티스레드 환경에서 공통 데이터를 조작할 때는 주의해야 한다. 그 이유는 공유 데이터에 대해 여러 스레드가 동시에 처리를 수행하면 값에 불일치가 발생할 수 있기 때문이다. 그러한 경우에는 synchronized 수식자를 지정하는 것으로 그 메소드는 복수의 thread로부터 동시에 불려 가는 것이 없어진다. 거의 동시에 호출되었다고 해도 먼저 호출한 측의 처리가 우선되고, 나중에 호출한 측은 선행하는 처리가 종료할 때까지 대기 상태가 된다(이를 동기 실행 이라고 한다).

public class ModSynchronized {
    synchronized void process() { ... }
}