Programing

Blocking, NonBlocking, Synchronous, Asynchronous

BUST 2018. 12. 7. 14:45

Blocking, NonBlocking, Synchronous, Asynchronous

IBM developerWorks의 단순화된 리눅스 I/O 모델 매트릭스

Blocking, NonBlocking

  • Blocking, Non-blocking의 관심사는 호출하는 함수가 바로 리턴을 하느냐 마느냐가 관심이다
  • Blocking인 경우에는 함수가 호출하고 그 사이에 다른 작업을 할수가 없다.
  • Non-Blocking인경우에는  함수가 호출을 하고 그사이에 다른 작업을 할수가 있다.

Synchronous, Asynchronous

  • Synchronous, Asynchronus의 관심사는 호출하는 함수의 작업 완료를 누가 받는 가에 대한 관심이다.
  • Sync인 경우에는 결과값을 함수를 호출한 대상자가 결과를 가지고 간다
  • Async인경우에는 결과값을 등록된 callback을 통해 처리를 한다.

Synchronous, Non-Blocking

  • 함수를 호출할때 바로 리턴을 하고, 데이터를 가지고 오기위해서 동기적으로 데이터를 확인한다.

Asynchronous, Blocking

  • 함수를 호출하고 멈춘상태에서 callback를 등록하고, 작업이 끝나면 callback을 호출한다.

Reference




'Programing' 카테고리의 다른 글

절자치향 프로그래밍과 객체지향 프로그래밍  (0) 2018.12.13
Nexus Repository  (0) 2018.12.09
Thread와 Process  (0) 2018.11.29
Cache  (0) 2018.11.20
SOLID 개발 원칙  (0) 2018.11.16