[AI/Python] 뮤텍스(Mutex) vs 세마포어(Semaphore) 완벽 정리 (정의, 특징 및 장단점, 실습)
·
AI Study/[Python]
1. 들어가며멀티 프로세스나 멀티 스레드 환경에서 개발을 하다 보면 필연적으로 '동시성 문제(Concurrency Issue)'에 직면하게 됩니다. 여러 스레드가 동시에 하나의 데이터(공유 자원)에 접근하여 수정하려고 할 때, 데이터가 꼬이거나 예상치 못한 결과(Race Condition)가 발생하는 현상이죠.이때 등장하는 해결사가 바로 뮤텍스(Mutex)와 세마포어(Semaphore)입니다. 이 둘은 비슷해 보이지만 명확한 차이가 있습니다.뮤텍스: "화장실이 하나뿐인 가게의 열쇠" (열쇠를 가진 사람만 들어감)세마포어: "빈자리가 표시되는 주차장 전광판" (빈자리가 남은 만큼 들어감)이번 포스팅에서는 공유 자원의 안전한 관리를 위한 이 두 가지 동기화 기법의 정의, 차이점, 그리고 파이썬(Python)..