Java에서의 임계영역과 데드락 해결 (sync, 모니터)
JiwonDev
여러 프로세스가 특정 데이터를 공유할 때, 각 프로세스에서 공유 데이터를 접근(access)하는 코드나 동작 부분을 임계영역(Critical Section)이라고 말합니다. 공유된 자원에 여러 개의 프로세서가 동시에 접근해서 사용하면 치명적인 오류를 발생 시킬 수 있기에 한 번에 하나의 프로세서만 접근할 수 있게 만들어야 합니다. 이를 상호배제 문제라고 말합니다. 운영체제에서 임계영역 (Critical Section) 동기화는 아주 중요한 부분이기에, 이를 동기화 문제를 해결하려고 여러가지 방법이 나오게 됩니다. 그중 대표적인 것이 세마포어, 뮤텍스, 모니터입니다. # 여러가지 동기화(상호배제) 방법 @ 세마포어(Semaphore) 옛날에 열차가 부딪히지 않게 표시했던 깃발을 세마포라고 부릅니다. 리소스..