Critical 섹션은 동시 프로세스에서 공유 변수에 액세스하는 프로그램 세그먼트를 나타냅니다. 임계 섹션은 공유 리소스에 액세스하는 프로그램 조각을 나타내며 이러한 공유 리소스는 여러 스레드에서 동시에 액세스할 수 없습니다. 한 번에 하나의 프로세스만 임계 영역에 진입할 수 있으며, 진입 후 다른 프로세스는 진입할 수 없습니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, Dell G3 컴퓨터.
Critical 섹션은 동시 프로세스에서 공유 변수에 액세스하는 프로그램 세그먼트를 나타냅니다.
중요 섹션 소개
중요 섹션은 공유 리소스(예: 공유 장치 또는 공유 메모리)에 액세스하는 프로그램 조각을 나타내며 이러한 공유 리소스는 여러 스레드에서 동시에 액세스할 수 없습니다. 스레드가 임계 영역에 진입하면 다른 스레드나 프로세스는 대기해야 합니다(예: 제한된 대기 대기 방법). 이러한 공유 리소스가 사용되도록 임계 영역의 시작 및 종료 지점에서 일부 동기화 메커니즘을 구현해야 합니다. 예를 들어 세마포어가 사용됩니다. 프린터와 같이 단일 스레드에서만 액세스할 수 있는 장치입니다.
중요 리소스에 액세스하는 각 프로세스의 코드 조각을 중요 섹션이라고 합니다(중요 리소스는 한 번에 하나의 프로세스에서만 사용할 수 있는 공유 리소스입니다). 한 번에 하나의 프로세스만 임계 영역에 진입할 수 있으며, 진입 후 다른 프로세스는 진입할 수 없습니다. 하드웨어에 중요한 리소스이든 소프트웨어에 중요한 리소스이든 여러 프로세스가 상호 배타적으로 액세스해야 합니다.
여러 프로세스에서 동일한 중요 리소스를 포함하는 중요 섹션을 관련 중요 섹션이라고 합니다. .
중요 섹션에 진입하는 프로세스에 대한 스케줄링 원칙은 다음과 같습니다.
1. 유휴 임계 섹션에 진입하도록 요청하는 프로세스가 여러 개 있는 경우 한 번에 하나의 프로세스만 진입할 수 있습니다.
2. 임계 섹션에는 언제든지 두 개 이상의 프로세스가 있을 수 없습니다. 프로세스가 자신의 임계 구역에 진입한 경우 임계 구역에 진입하려는 다른 모든 프로세스는 대기해야 합니다.
3. 임계 영역에 진입하는 프로세스는 다른 프로세스가 제 시간에 임계 영역에 진입할 수 있도록 제한된 시간 내에 종료되어야 합니다.
4. 프로세스가 자체 임계 섹션에 들어갈 수 없는 경우 프로세스의 "busy wait" 현상을 피하기 위해 CPU를 포기해야 합니다.
관련 추천: "프로그래밍 비디오"
위 내용은 중요 섹션은 동시 프로세스에서 액세스되는 공유 변수를 나타냅니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!