세마포어와 뮤택스
1. 임계구역 - 여러 프로세스가 데이터를 공유하며 수행될 때, 각 프로세스에서 공유 데이터에 접근하는 프로그램 코드 부분 2. 세마포어 (Semaphore) ? - 공유자원에 여러 프로세스가 접근하는 것을 막는 것 - 세마포어 함수는 정수 값을 인자로 갖는 객체 - 정수 값이 양수인 경우 사용중인 쓰레드의 개수(접근할 수 있는 프로세스 개수), 정수 값이 음수인 경우 대기중인 쓰레드의 개수 - 프로세스 마다 접근할 경우 -1, 작업 완료 후 세마 포어 정수 값을 +1 시킴 - 만약 정수 값이 0보다 작거나 같을 경우 락을 실행 3. 뮤택스(Mutext) ? - 공유자원에 여러 프로세스가 접근하는 것을 막는 것 - Locking 메커니즘 - 1개의 스레드만이 공유 자원에 접근할 수 있음 - 해당 자원을 ..