Skip to content

Latest commit

 

History

History
21 lines (15 loc) · 1.42 KB

Semapore_Mutex.md

File metadata and controls

21 lines (15 loc) · 1.42 KB

공유 자원 동기화 메커니즘

Semaphore

  • 공유된 자원의 데이터를 여러 프로세스가 접근하는 것을 방지
  • 리소스의 상태를 나타내는 간단한 카운터의 개념
  • 일반적으로 비교적 긴 시간을 확보하는 리소스에 대해 이용
  • 운영체제의 리소스를 경쟁적으로 사용하는 다중 프로세스에서 행동을 조정하거나 동기화시키는 기술
  • 하나의 스레드만 들어가게 할 수 있고, 여러개의 스레드가 들어가게 할 수 있음 (뮤텍스와의 차이!)

스크린샷 2023-12-04 오전 2 25 55

Mutex

  • 공유된 자원의 데이터를 여러 스레드가 접근하는 것을 막음
  • Critical Section을 가진 스레드들의 Running time이 서로 겹치지 않게 각각 단독으로 실행되게 하는 기술

    Critical Section이란? 각 프로세스에서 공유 데이터를 엑세스하는 프로그램 코드 부분

  • 다중 프로세스들이 공유 리소스에 대한 접근을 조율하기 위해 locking과 unlocking을 사용하는데, 상호배제함으로써 두 스레드가 동시에 사용할 수 없음.

스크린샷 2023-12-04 오전 2 26 06