상위 프로세스와 하위 프로세스는 동시에 실행될 수 있습니다. 상위 프로세스와 하위 프로세스는 모두 시스템에 의한 리소스 할당의 최소 단위이며 동시에 실행될 수 없습니다. 미시적인 의미에서는 시간만 할당되지만 여러 프로세스가 신속하고 번갈아 실행될 수 있도록 여러 세그먼트로 나누어 거시적 관점에서는 이러한 프로세스가 모두 실행되는 것처럼 보입니다.
이 튜토리얼의 운영 환경: Windows 10 시스템, DELL G3 컴퓨터.
동시에 실행할 수 있나요? 상위 프로세스와 하위 프로세스는 모두 시스템에 의한 자원 할당의 최소 단위이므로 독립적인 프로세스일 수 있습니다. 동시에 실행됩니다. 스레드와의 관계가 다릅니다.
"병렬"은 두 사람이 각각 삽으로 구멍을 파고 한 시간이 지나면 각자 큰 구멍이 생기듯이 마이크로와 매크로가 함께 실행된다는 의미입니다.
"Concurrency"는 미시적인 관점에서 동시에 실행되지 않습니다. 단지 여러 프로세스가 빠르고 교대로 실행될 수 있도록 시간을 여러 세그먼트로 나누는 것뿐입니다. , 같은 삽을 사용하여 두 사람이 차례로 구멍을 파는 것과 같습니다. 한 시간 후에 두 사람이 각각 더 큰 구멍을 두 개 파려면 두 시간이 걸립니다.
여러 프로세스 간에 리소스 충돌이 있을 때 "동시" 실행이 근본적으로 실행 효율성을 향상시키지 않는다는 것을 위의 본질에서 보는 것은 어렵지 않습니다.
아버지와 아들의 프로세스는 동시입니다.
단일 프로세서에서는 다중 처리가 의미가 없습니다. 단일 프로세서에서의 다중 작업은 동시에 수행될 수 있습니다(시간 분할을 사용하여 교대로 폴링). 이때 거시적 수준에서는 다중 작업이 수행됩니다. 실제로 미시적인 차원에서는 위의 작업이 타임슬라이스로 번갈아 이루어지므로 거시적인 관점에서 함께 실행하더라도 하나의 프로세스와 하나의 프로세스를 실행하는 데 소요되는 시간은 크게 절약되지 않습니다. 프로세스를 일시 중단하거나 절전 모드로 전환해야 하는 경우 시간이 조금 더 걸릴 수 있지만 일시 중단이나 절전 모드가 없으면 시간 조각에서 커널의 지속적인 프로세스 변환에도 소비되므로 시간이 조금 더 오래 걸릴 수 있습니다.
그러나 멀티 프로세서를 사용하면 멀티 태스킹이 실제로 병렬 처리를 달성할 수 있습니다. 여러 프로세스가 서로 다른 프로세서에서 실행될 수 있습니다. 리소스 충돌과 동기화가 필요한 경우에만 일시 중지하고 잠시 기다리면 실제로 병렬 처리가 가능합니다. 비동기식으로 동시에 실행합니다. 그러나 위에서 언급한 것처럼 여러 프로세스에 리소스 충돌이 발생하면 실행 효율성이 근본적으로 향상되지 않습니다.
관련 지식이 더 궁금하시다면 FAQ 칼럼을 방문해 주세요!
위 내용은 상위 프로세스와 하위 프로세스가 동시에 실행될 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!