동시 멀티 스레딩 평행 동기 비동기

동시, 병렬, 비동기에 초점을 맞추고,이 점에서 도움을 가지고 불충분 한 블로거를 이해하는 희망, 서로 멀티 스레드 이론의 차이점을 이해하는이 블로그.

복잡

기간이 시작에 운영 시스템에서 여러 프로그램이 완료 이러한 프로세스 사이에 실행하는 실행에 의미

순서는 동일한 프로세서에서 실행됩니다. 동시 관계의 두는 동기상호 배타적

독점적 인

현상의 중요한 자원 간 상호 배타적 인 사용은 상호 배타적이라고합니다.

동기

핵심 자원의 처리의 관계는 배타적 관계하지만, 상호 의존 관계가없는 상호이다. 추가 설명 : 그 이전의 공정 출력 후 처리 등의 입력 과정이 반드시 두 번째 방법의 제 1 출력 아니다 기다린다 . 서로 동기 관계 동시 일련의 프로세스에 대한 정보는 메시지 나 이벤트를 전송라고합니다.

동시 병행 의사 진정한 동시 존재하며, 동시에 의사가 동시에 단일 코어 프로세서를 지칭 진정한 동시 동시 멀티 코어를 의미한다.

평행

멀티 프로그래밍 시스템, 프로세스는 단일 코어 프로세서 번갈아 수행 동시 특별한 외부의 종류를 나타내는;

멀티 - 코어 프로세서에서, 상기 과정은 수 번갈아 수행 뿐만 아니라 방식 겹치는 . 멀티 코어 프로세서에 대한 가능한 병렬 처리 프로그램. 따라서 병렬 멀티 코어 목적에 알.

동시에 발생하는 병렬 여러 개의 동시 이벤트는 의미의 동시을 가지고 있지만 반드시 동시 병렬, 또한 동시 이벤트와 같은 순간을 의미하지 않습니다.

멀티 코어의 이점은, 동시에, 단일 코어와 완전히 다른에서 일을 할 수 있다는 것입니다.

멀티 스레딩

멀티 스레드 프로그램을 동시에 실행하는 과정에있는 코드의 한 부분이며, 논리적 인 계층의 개념이다. 스레드 간의 스위칭 멀티 스레드 실행이 달성 될 수있다.

어려운 프로그램을 작성하는 비동기 때문에 멀티 스레딩의 장점은, 쉽게, 비동기 전환의 아이디어를 구현합니다. 과정 자체를 멀티 스레드 또는 동기화가 완료, 효율성 비율이 비동기식으로 아니라고 말할 수 있어야합니다. 그리고 멀티 스레드, 상대적으로 높은 효율을 쓰기 쉽다.

멀티 스레드 동기화 이유 :

멀티 스레드 프로그램에서 동기화가 공유 리소스에 대한 액세스를 제어 할 수 있습니다. 당신이 공유 변수를 수정하거나 다른 스레드를 사용 자바 스레드가 같은 변수를 업데이트 할 때 동기화없이, 그렇게 쉽게 프로그램 오류 결과로 이어집니다.

비동기

비동기와 동기는 기다릴 필요, 조정 작업의 완전한 재 구현을 위해 상대, 동기 실행 순서입니다.

비동기 서로의 이벤트를 기다리고, 당신은 작업 완료 후이 이벤트에 대한 기다릴 필요가 없습니다 동안 자신의 일을 계속 독립적이다.

스레드 방식의 비동기을 달성하는 것입니다. 비동기 메서드 호출 메인 스레드는 메인 스레드가 다른 일을 할 수 있도록 다른 스레드 동기화의 완료를 기다릴 필요가 없습니다 수 있도록하는 것입니다.

그리고 비동기 멀티 스레딩은 궁극적 인 목표는 다중 스레드, 비동기, 평등 한 관계가 아니라 우리는 수단 비동기를 실현. 호출은 비동기 호출자에게 반환 요청하지만, 그 결과를 기다리지 않고 발신자이고 다른 일을 할 수있는 경우. 비동기 멀티 스레딩 기술을 사용하거나 다른 프로세스를 처리 할 수있다.

추천

출처blog.csdn.net/weixin_42236165/article/details/92091076