비동기 프로그래밍 및 멀티 스레딩 : 주요 차이점
비동기 프로그래밍과 멀티 스레드는 종종 혼란 스럽지만 완전히 다른 개념입니다.
비동기 프로그래밍
비동기 프로그래밍의 핵심은 비 블로킹 작업 입니다. 비동기 방법으로 "기다려온"표현식을 만나면 스레드 실행을 차단하여 작업이 완료 될 때까지 기다리지 않습니다. 대신,이 방법의 나머지 부분을 연속에 등록하고 비동기 방법의 발신자에게 제어 권한의 제어를 지불합니다.
비동기 방법 가 추가 스레드를 만들 필요가없는 것이 중요합니다. 비동기 방법이 현재 동기화 컨텍스트에서 실행되기 때문에 활동 중에 스레드 시간 만 사용됩니다. "task.run"은 CPU 조밀 한 작업을 배경 스레드로 제거 할 수 있지만 결과를 기다리는 프로세스에는 유효하지 않습니다.
멀티 스레드
멀티 스레드에는 작업을 여러 작업 스레드에 할당하는 것이 포함됩니다. 각 프로세서는 할당 작업을 독립적으로 처리합니다. 자원 충돌을 방지하기 위해 이러한 작업 스레드를 조정하고 적절한 보상이 복잡성을 증가시킵니다.
간단한 은유
식당의 예는 두 가지의 차이점을 이해하는 데 도움이 될 수 있습니다.
동기 : 먼저 계란을 볶은 다음 빵을 굽습니다.
단일 스레딩 : 튀긴 계란과 구운 빵을 동시에 시작하고 동시에 다른 작업을 수행하십시오. 크로노 그래프 알림이 요리를 완료 할 때.
다중 스레드 비동기 비동기 : 는 알과 빵을 독립적으로 준비하기 위해 추가 요리사를 고용했습니다.
비동기 프로그래밍의 장점
작업이 프로세서의 바인딩되지 않으면 비동기 프로그래밍 이점이 분명합니다. 각 작업에 대한 워크 라인을 할당 할 필요가 없으며 결과를 사용할 수있을 때까지 기다렸다가이 기간 동안 다른 활동을 수행하십시오.
Jon Skeet 예
Jon Skeet의 예를 고려하십시오
호출 할 때 콜 스레드를 차단하지 않고 비동기 작동이 트리거됩니다.
나머지 방법을 연속으로 등록하고 웹 사이트의 길이를 사용할 수있을 때 실행하십시오.
여기서 작동 할 때 발신자는 다른 작업을 계속 수행 할 수 있습니다.
완료 후 실행이 계속되고 라벨 텍스트는 웹 사이트의 길이로 설정됩니다.
간단히 말해서, 비동기 프로그래밍은 단일 스레드에서 다른 작동 진행없이 작업을 수행 할 수있는 방법을 제공합니다. 이 방법을 통해 코드 효율성을 향상시키고 리소스 활용할 수 있습니다.
| 위 내용은 비동기 프로그래밍 대 멀티 스레딩 : 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!