개요 전에 파이썬의 GIL에 대해서 설명할 때 뮤텍스(Mutex)라는 용어를 언급했었는데 이번에 이 뮤텍스와 뮤텍스의 상위 개념인 세마포어(Semaphore)까지 함께 다뤄보겠습니다. 우선 빠르게 한 줄로 요약하자면, 세마포어와 뮤텍스는 프로세스 / 스레드에서 사용되는 일종의 열쇠(key)라고 생각하시면 됩니다. 뭔 개소린지 모르시겠다면, 정상입니다. 차차 자세히 설명드릴테니 우선 내려보시죠. 사전 지식 - 임계 구역(Critical section) 임계 구역은 다수의 프로세스가 데이터를 공유하며 실행되는 상황에서 각 프로세스가 공유 자원에 접근하는 코드 블록을 의미합니다. 공유 자원이라는 말에서 대충 눈치 채셨겠지만, 다수의 프로세스가 동시에 공유 자원에 접근하여 사용하면 문제가 생기게 됩니다.(이상한..