-
세마포어(Semaphore)프로그래밍/기록, 개념, 용어 2015. 2. 5. 01:44반응형
세마포어(Semaphore)
세마포어는 카운터다. 증가/감소가 있을 수 있다.
특정 리소스의 개수가 한정되어 있고, 여러 스레드에서 그 자원을 이용하려 할 때 사용하곤 한다.
세마포어는 열차 선로를 운영할때 기관사에게 해당 선로로의 진입 가능 여부를 알려주던 깃발을 뜻하는 용어로,
세마포어를 획득하는 것을 wait, down, acquire이라 하고 해제하는 것을 post, up, signal, release라고 한다.
세마포어로 관리되는 리소스스를 다른 스레드가 접근하려 할때,
가용 가능한 리소스가 없다면 리소스를 요청한 스레드는 가용 가능하질 때까지 블로킹 된다.
반응형'프로그래밍 > 기록, 개념, 용어' 카테고리의 다른 글
원자적 조작과 락-프리 코드(Atomic operation & Lock-Free code) (0) 2015.02.05 배리어(Barrier) (0) 2015.02.05 리더즈-라이터 락(Readers-Writer Lock) (0) 2015.02.05 포인터 에일리어스(Pointer Alias) (0) 2015.02.04 스핀락(Spinlock) (0) 2015.01.23