세마포어는 18-4에서 다룬 뮤텍스와 유사합니다. 여기서는 0과 1만을 사용하는 바이너리 세마포어라는 것을 대상으로 쓰레드의 실행순서 컨트롤 중심의 동기화를 다룹니다. #include int sem_init(sem_t *sem, int pshared, unsigned int value); int sem_destroy(sem_t *sem); //success:0 fail:0 이외의 값 위 두 함수는 세마포어의 생성 및 소멸에 관한 함수입니다. sem에는 세마포어의 참조 값 저장을 위한 변수의 주소 값 전달(소멸 시에는 소멸시키려는 세마포어의 참조 값을 저장하고 있는 변수의 주소 값 전달), pshared에는 0 전달 시 하나의 프로세스 내에서 접근 가능, 0 이외의 값 전달 시 둘 이상의 프로세스에 의해 ..
Thread
뮤텍스란 Nutual Exclusion의 줄임말로, 쓰레드의 동시접근을 허용하지 않는다는 의미가 있습니다. 특정 영역을 접근할 때 자물쇠를 채우고, 나갈 때 자물쇠를 푸는 방식으로 활용됩니다. #include int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr); int pthread_mutex_destroy(pthread_mutex_t *mutex); //success:0 fail:0 이외의 값 위 두 함수는 각각 뮤텍스 자물쇠 시스템 생성 및 소멸 함수입니다. mutex 인자에는 뮤텍스의 참조 값 저장을 위한 변수의 주소 값을 전달하고, 뮤텍스 소멸시에는 소멸하고자 하는 뮤텍스의 참조 값을 저장하고 있는 변수의 ..