임계영역 (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 |