차이점: 병렬성은 마이크로 및 매크로 관점 모두에서 여러 명령이 동시에 여러 프로세서에서 동시에 실행되며 둘 다 함께 실행된다는 것을 의미합니다. 동시성은 동시에 하나의 명령만 실행될 수 있지만 여러 프로세스 명령이 빠른 회전으로 실행된다는 의미입니다. 이는 거시적 관점에서는 여러 프로세스가 동시에 실행되지만 미시적 관점에서는 동시에 실행되지 않는 효과가 있습니다.
동시성과 병렬성은 다음과 같습니다.
설명 1: 병렬성은 두 개 이상의 이벤트가 동시에 발생한다는 의미입니다. 동시성은 두 개 이상의 이벤트가 동시에 발생한다는 의미입니다. .
설명 2: 병렬성은 서로 다른 엔터티의 여러 이벤트이고 동시성은 동일한 엔터티의 여러 이벤트입니다.
설명 3: 병렬 처리는 여러 프로세서에서 여러 작업을 동시에 처리하는 것입니다. 예를 들어 Hadoop 분산 클러스터에서 동시성이란 하나의 프로세서에서 여러 작업을 "동시에" 처리하는 것을 의미합니다.
그래서 동시 프로그래밍의 목표는 프로세서의 각 코어를 완전히 활용하여 최고의 처리 성능을 달성하는 것입니다.
병렬: 여러 프로세서에서 동시에 실행되는 여러 명령어를 의미합니다. 따라서 미시적 관점이든 거시적 관점이든 둘 다 함께 실행됩니다.
동시성: 동시에 하나의 명령만 실행할 수 있지만 여러 프로세스 명령이 빠른 회전으로 실행된다는 의미입니다. 이는 매크로 관점에서 동시에 여러 프로세스가 실행되는 효과가 있지만, 미시적인 관점에서 보면 동시에 실행되는 것이 아니라 시간을 여러 부분으로 나누어 여러 프로세스를 빠르고 교대로 실행할 수 있도록 하는 것입니다.
병렬은 다중 프로세서 시스템에 존재하는 반면 동시성은 단일 프로세서 시스템과 다중 프로세서 시스템 모두에 존재할 수 있습니다. 동시성은 병렬성의 환상이고 병렬성을 위해서는 프로그램이 가능해야 하기 때문입니다. 동시에 여러 작업을 수행하려면 동시성을 사용하려면 프로그램이 동시에 여러 작업을 수행하는 척해야 합니다(작은 시간 조각당 하나의 작업을 수행하고 여러 작업 간에 빠르게 전환).
여러 스레드가 작동 중인 경우 시스템에 CPU가 하나만 있으면 실제로 동시에 두 개 이상의 스레드를 실행하는 것은 불가능합니다. CPU 실행 시간을 여러 기간으로 나눈 다음 할당할 수 있습니다. 각 스레드에 대한 실행, 일정 기간 동안 스레드 코드가 실행되는 동안 다른 스레드는 일시 중단된 상태에 있습니다. 이 방법을 동시성(Concurrent)이라고 합니다.
시스템에 CPU가 두 개 이상 있으면 스레드 작업이 동시에 수행되지 않을 수 있습니다. 한 CPU가 하나의 스레드를 실행하면 다른 CPU가 다른 스레드를 실행할 수 있으며, 두 스레드는 서로의 CPU 리소스를 점유하지 않고 동시에 진행할 수 있습니다.
더 많은 관련 지식을 보려면 PHP 중국어 웹사이트를 방문하세요!
위 내용은 동시성과 병렬성의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!