OS · SYNCHRONIZATION

동기화 패턴 선택 기준

락을 쓸지, 메시지를 보낼지, CAS를 쓸지는 공유 상태의 형태와 실패 비용을 기준으로 나누면 명확해집니다.

첫 질문

판단
공유 상태가 있는가?없앨 수 있다면 Actor나 채널이 단순합니다.
블로킹을 허용하는가?짧은 임계 구역이면 모니터, 긴 대기는 큐가 낫습니다.

패턴 지도

매핑
Monitor공유 객체 내부에서 조건 대기와 상호 배제를 함께 관리합니다.
Lock-Free짧고 빈번한 갱신을 CAS로 처리하지만 구현 난도가 높습니다.
Actor상태를 소유자 안에 가두고 메시지로 요청을 전달합니다.
Channel데이터 이동 자체가 동기화 경계가 되어 공유 메모리를 줄입니다.

운영 체크

risk
데드락둘 이상의 락이 필요하면 획득 순서를 문서화합니다.
기아재시도 기반 구조는 대기 횟수와 백오프 정책이 필요합니다.
관측성스레드 덤프, 큐 길이, 락 대기 시간을 지표로 남깁니다.