Synchoronous / Non-Blocking의 경우 무한루프를 통해 응답데이터가 존재하는지 지속적으로 확인한다. Asynchoronous / Non-Blocking의 경우 제어권을 반환한 함수의 결과값에 대해 신경쓰지 않는다.
일반적으로 동기는 한번에 한가지 일만 한다는 의미이다. Task A가 끝나면 Task B가 시작되고, Task B가 끝나면 Task C가 시작된다. 이와 같이 모든 태스크들은 순차적으로 실행된다.
동기는 함수의 제어권과 결과 값을 반환하는 시간이 같다.비동기는 함수의 제어권과 결과값을 반환하는 시간이 다르다.블로킹은 함수가 제어권을 가지고 있다가 결과값을 반환할 때 같이 제어권을 반환
그런데 그럼 서로 반대되는 Synchronous와 Non-Blocking, Asynchrononus와 Non-Blocking 을 동시에 가지고 있는 녀석들은 대체 뭘까??? 지금부터 하나씩 천천히 설명해 보자.