동기와 비동기

 

통신에 대해 묻는 것이다.

요청-응답

호출-리턴

요청과 응답이 동시에 일어난다. 동기

요청과 응답이 동시에 일어나지 않는다. 비동기

호출에 따른 리턴 값을 바로 받는다. 동기

호출에 따른 리턴 값을 바로 받지 않는다. 비동기

 

*여기서 말하는 통신은 HTTP 통신이 아닌 함수의 호출-리턴 통신이다.

 

=> 통신이 동시에 이루어 지는가 vs 통신이 동시에 이루어지지 않는가

 

블로킹과 논블로킹

 

실행에 대해 묻는 것이다.

함수의 실행

다른 함수의 실행을 기다린다. 블로킹

다른 함수의 실행을 기다리지 않는다. 논블로킹

 

=> 다른 함수의 실행을 기다려야 하는가 vs 다른 함수의 실행을 기다리지 않는가