세마포어는 시스템에서 상호 독점(뮤텍스) 자원을 설정하는 글로벌 신호 플래그입니다. 일부 프로세스가 다른 프로세스의 완료를 기다리게 하려면 세마포어를 사용하십시오.
를 사용하여 사용 중인 작업 세마포어를 볼 수 있습니다. 또한 세마포어를 지울 수도 있는데 이는 정지되거나 취소된 작업이 세마포어를 해제하는 데 실패하는 경우 필요합니다.
예를 들어, 프린터 드라이버를 작성하는 프로그램이 있고 임의의 시점에서 하나의 프로세스만 프로그램을 사용하게 한다고 가정하십시오. 프로그램을 호출하는 각 프로젝트에서 다음 명령행을 사용하여 세 개의 단계를 설정하십시오.
단계 |
명령행 |
---|---|
세마포어 가져오기 |
|
드라이버 작성 프로그램 실행 |
|
세마포어 해제 |
|
조직의 주요 자원(예: 로드량이 많은 서버 또는 단일 사용자 라이센스가 있는 소프트웨어 프로그램)에 대해 세마포어를 설정할 수 있습니다. 보호할 자원을 사용하는 모든 단계를 .semget 및.semput 명령으로 랩핑해야 합니다.
세마포어는 다음 규칙을 준수합니다.