비동기

동기와 비동기, 블로킹과 논블로킹
동기와 비동기, 블로킹과 논블로킹을 처음 접할 때는 서로가 비슷하다고 생각한다. 결론부터 말하면 동기와 비동기, 블로킹과 논블로킹은 바라보는 관점 자체가 다르다. 동기와 비동기가 바라보는 관점은 결과값을 기다리는 지 여부이다. 결과값의 기다림 : 함수 호출자와 피호출자가 있을 때 함수 호출자가 피호출자가 주는 결과를 전달 받기 전까지 기다리는 것을 의미한다. 블로킹과 논블로킹의 관점은 제어권의 여부이다. 제어권 : 코드를 실행하는 권리와 비슷하다. 제어권을 가진 함수는 자신의 코드를 실행할 수 있다. 동기 (Synchronous) 동기의 키포인트는 결과값을 기다린다는 것이다. 따라서, 호출자는 피호출자가 로직을 처리하고 결과값을 전달해줄 때 까지 기다린다. 비동기 (Asynchronous) 비동기의 키포..