Semaphore와 Mutex

김민영·2023년 1월 30일
0

CS 스터디

목록 보기
23/32

Semaphore

  • Signaling 매커니즘
  • lock을 걸지 않은 쓰레드도 Signal을 보내 lock 해제 가능
  • wait, signal 2개의 atomic operaions 사용
    • wait : 세마포어 카운트 - 1
      • 세마포어 카운트가 <= 0 이 되면 lock 실행
    • signal : 세마포어 카운트 + 1
      • 세마포어 카운트가 <= 0 이 되어 동기화가 된 상황에서 다른 쓰레드가 signal 호출시, 해당 쓰레드는 lock에서 나올 수 있음.
  • Counting Semephores
    • 세마포어 카운트가 양의 정수값.
    • 설정 값만큼 쓰레드 허용, 그 이상 접근시 lock
  • Binary Semaphores
    • 세마포어 카운트 1
    • 뮤텍스처럼 사용 가능

Mutex

  • 상호 배제기술
  • Locking 매커니즘
  • 하나의 쓰레드만이 뮤텍스를 얻어 임계영역 Critical Section에 접근 가능하고, 임계영역을 나갈 때 뮤텍스를 해제할 수 있다.
profile
노션에 1차 정리합니당 - https://cream-efraasia-f3c.notion.site/4fb02c0dc82e48358e67c61b7ce8ab36?v=

0개의 댓글