블로킹

    Sync vs Async, blocking vs non-blocking

    잡아 놓고 가면 좋은 개념일 거 같아서 정리를 하려고 한다. Sync, Async를 비교하고, blocking, non-blocking을 비교한 후, 두 개의 조합에 대해서 비교를 하겠다. 알아보기 이전에 용어에 대해서 알아보면 좋을 거 같다. 1. 제어권 - 제어권은 자신의 코드를 실행할 권리 같은 것이다. 제어권을 가진 함수는 자신의 코드를 끝까지 실행한 후, 자신을 호출한 함수에게 돌려준다. blocking, non-blocking을 설명할 때 사용할 용어이다. 2. 결과값을 기다린다 - A 함수에서 B 함수를 호출했을 때, A 함수가 B 함수의 결과값을 기다리느냐의 여부를 의미한다. Blocking과 Non-Blocking A 함수가 B 함수를 호출했을 때, "제어권"을 어떻게 처리하느냐에 따라서..