※ Critical Section (임계영역)

  • 둘 이상의 Thread가 동시에 접근해서는 안되는 공유 자원(자료 구조 또는 장치)을 접근하는 코드의 일부를 말한다.

※ Mutex (상호배제)

  • 공유 불가능한 자원의 동시 사용을 피하기 위해 사용되는 알고리즘으로, Critical Section 코드 영역에 의해 구현된다.
  • 예를 들면 화장실 열쇠를 관리자가 가지고 있고 열쇠를 가진 사람만 화장실을 이용할 수 있도록 빌려주고 반납하는 것을 들 수 있다.

※ Semaphore (세마포어)

  • 멀티프로그래밍 환경에서 공유자원에 대한 접근 제어를 하는 방식으로 1개의 공유되는 자원에 제한된 개수의 프로세스, 또는 스레드만 접근할 수 있도록 한다.
  • 예를 들면 칸막이 화장실 칸이 3개 있다고 가정하자. 3개의 칸이 찰 때까지 접근이 가능하지만 3개가 차는 순간 접근할 수 가 없다. 접근하기 위해서는 반드시 비어있는 칸이 있어야한다.



'Programming Note > etc' 카테고리의 다른 글

Singleton Pattern이란?  (0) 2017.05.05
[etc] OSI 모형(OSI 7 Layer)  (0) 2017.04.18
Abstract class 와 Interface (extends, implements)  (0) 2017.03.17
Process와 Thread  (0) 2017.03.12
FDS (Fraud Detection System) 란?  (1) 2017.01.13

+ Recent posts