본문으로 건너뛰기
Previous
Next
Mutex 뜻과 의미 | 기술 용어 사전 | pkglog
시스템

Mutex

다른 이름: 뮤텍스 , Lock

정의

Mutual Exclusion. 상호 배제 락. 공유 자원을 한 번에 한 스레드만 접근하도록 보장. lock() 획득, unlock() 해제. Critical Section(임계 영역) 보호. 소유권 있음(락 건 스레드만 해제). Deadlock, Priority Inversion 주의

상세 설명

📋 기술 스펙

  • lock(): 뮤텍스 획득 (이미 잠기면 대기)
  • unlock(): 뮤텍스 해제
  • try_lock(): 비블로킹 획득 시도
  • 소유권: 락 건 스레드만 해제 가능
  • Recursive Mutex: 같은 스레드가 여러 번 락
  • RAII: std::lock_guard, std::unique_lock (C++)

💡 실무 활용

  • 카운터 증가: count++ (Race Condition 방지)
  • 공유 자료구조: 리스트, 맵 동기화
  • 파일 쓰기: 동시 쓰기 방지
  • 싱글톤: getInstance() 동기화

장점

  • Race Condition 방지: 원자성 보장
  • 단순한 개념: lock/unlock만
  • 소유권: 잘못된 해제 방지

⚠️ 단점 및 제약

  • Deadlock: 순환 대기 (락 순서 중요)
  • Priority Inversion: 낮은 우선순위 스레드가 락 점유
  • 성능 저하: 대기 시간
  • Contention: 여러 스레드가 같은 뮤텍스 경쟁

🔧 호환성

POSIX pthread_mutex, C++ std::mutex, Java synchronized, Python threading.Lock

📚 표준 정보

표준화 기구: POSIX Threads, 운영체제 교과서

출시 연도: 1965년