#include <semaphore.h>
int sem_init(sem_t *sem, int pshared, unsigned int value);
sem_init(&sem_name, 0, 1);
sem_wait(&sem_name);
sem_post(&sem_name);
int sem_getvalue(sem_t *sem, int *sval);
sem_getvalue(&sem_name, &i);
sem_destroy(&sem_name);
1) - 세마포어는 공유 자원에 세마포어의 변수만큼의 프로세스(또는 스레드)가 접근 가능
- 뮤텍스는 단 1개의 프로세스(또는 스레드)만 접근 가능
2) - 현재 수행중이 아닌 다른 프로세스가 세마포어 해제 가능
- 뮤텍스는 lock을 획득한 프로세스가 반드시 그 lock을 해제해야함