Blocking vs Non-Blocking & Synchronous vs Asynchronous
·
OS
1. Blocking (블로킹) vs Non-Blocking (논 블로킹) 위 두 개념은 어떤 하나의 함수가 어떻게 동작하는지에 관한 이야기다. 함수 A와 B가 존재한다고 가정하자. 또한, 함수 A가 함수 B를 호출한다.이때 함수 A가 어떻게 행동하는지에 따라 Blocking과 Non-Blocking이 결정된다.즉, 해당 개념과 함수 B는 아무런 관련이 없다. 어떠한 상황에서도 함수 A가 아무것도 하지 못하고 함수 B의 결과를 기다리는 상황이 바로 Blocking이다. 반대로 함수가 A가 다른 일을 하며 함수 B의 결과를 기다리는 상황은 Non-Blocking이다. 예를 들어, 함수 A는 주기적으로 함수 B의 상태를 확인하는 폴링 (Polling)을 수행하거나,함수 B로부터 작업이 완료되었다는 알림을 받..