블로그는 나의 힘!
[ Programing ]/Interview2021. 12. 8. 18:22

임계영역 (Ciritical Section)

- 공유 리스소에 오직 하나의 스레드만 허용. (한 프로세스에 속한 스레드만 사용)

- 2개 이상의 스레드가 공유 리소스 오직 하나의 스레드 접근만 허용해야 하는 경우에 사용.

 

뮤택스 (Mutex)

- 공유 리소스에 오직 하나의 스레드만 허용. (서로 다른 프로세스에 속한 스레드도 사용)

 

이벤트 (Event)

- 특정 사건 발생을 다른 스레드에 알릴 때 주로 사용.

 

세마포어(Semaphore)

- 한정된 개수의 자원을 여러 스레드가 사용할려고 할 때 접근 제한.

 

 

------------------------------------

 

유저 모드 동기화

- 커널 힘을 빌리지 않는 동기화 기법.

- 동기화 위해 커널로의 전환이 불필요하기에 성능상 이점을 잃었으나 그 만큼 기능상의 제한이 있음.

- 종류 : InterLockeedXXX, 계열 함수 : CiriticalSection, SpinLock

 

커널 모드 동기화

- 커널에서 제공하는 동기화 기능을 활용하는 방법.

- 커널 오브젝트에서 생성하고 이를 조작 함수 호출로 동기화 진행.

- 커널 오브젝트 조작 함수가 호출될 때마다 커널 모드로의 전환이 발생 하므로 성능 저하 있음.

 

'[ Programing ] > Interview' 카테고리의 다른 글

Interview Thread Pool  (0) 2021.12.08
Interview 멀티스레드 모델  (0) 2021.12.08
Interview 스레드 동기화  (0) 2021.12.08
Interview Thread  (0) 2021.12.08
Interview IOCP  (0) 2021.12.08
Posted by Mister_Q