
동기 & 비동기 개념을 다루면서 블로킹 & 논블로킹이랑 많이 헷갈려 하는 것 같기에 짧게 정리하려 한다.
응답 받을 때까지 기다리는 것이 아니다 → 블로킹과 다르다.
A함수가 B함수를 호출 후 B의 완료 여부를 신경 쓸지 말지를 고려하는 것
⇒ 내가 호출 한 함수의 완료여부를 고려하는 것.
A가 B의 리턴(값)을 계속 확인하는 것
B의 작업 완료 여부는 상관이 없다.
B에게 콜백 함수를 같이 주면서 끝나면 알아서 해당 함수를 실행한다.
즉, 요청을 보낸 후 응답에 관계없이 다음 동작을 실행
⇒ 작업이 병렬로 배치되어 실행된다.
Kafka, RabbitMQ 같은 기술의 통신 방식이다.(메세지 브로커)