synchronized1 [Java] 동기화 동기화 WAS 에서는 많은 사용자의 동시 요청을 처리하기 위해 수십 ~ 수백 개의 쓰레드를 사용합니다. 두 개 이상의 쓰레드가 같은 자원을 이용할 때는 필연적으로 쓰레드 간의 경합이 발생하고 경우에 따라서는 Dead Lock 이 발생할 수 있습니다. 따라서 여러 쓰레드가 공유 자원을 사용할 때 정합성을 보장하려면 동기화 장치로 한 번에 하나의 쓰레드만 공유 자원에 접근할 수 있어야합니다. Java 에서는 Monitor 를 이용해 쓰레드를 동기화합니다. 모든 객체는 하나의 Monitor 를 소유하고 있으며 하나의 쓰레드만이 이를 획득할 수 있습니다. 특정 쓰레드가 소유한 Monitor 를 획득하기 위해서는 Monitor 소유권을 해제할 때까지 Wait Queue 에서 대기해야 합니다. Mutal Exclu.. 2024. 3. 13. 이전 1 다음