Blocking, NonBlocking, Synchronous, Asynchronous
Blocking, NonBlocking
- Blocking, Non-blocking의 관심사는 호출하는 함수가 바로 리턴을 하느냐 마느냐가 관심이다
- Blocking인 경우에는 함수가 호출하고 그 사이에 다른 작업을 할수가 없다.
- Non-Blocking인경우에는 함수가 호출을 하고 그사이에 다른 작업을 할수가 있다.
Synchronous, Asynchronous
- Synchronous, Asynchronus의 관심사는 호출하는 함수의 작업 완료를 누가 받는 가에 대한 관심이다.
- Sync인 경우에는 결과값을 함수를 호출한 대상자가 결과를 가지고 간다
- Async인경우에는 결과값을 등록된 callback을 통해 처리를 한다.
Synchronous, Non-Blocking
- 함수를 호출할때 바로 리턴을 하고, 데이터를 가지고 오기위해서 동기적으로 데이터를 확인한다.
Asynchronous, Blocking
- 함수를 호출하고 멈춘상태에서 callback를 등록하고, 작업이 끝나면 callback을 호출한다.
Reference