티스토리 뷰

donaricano-btn
반응형

동기/비동기, 블로킹/논블로킹의 차이

  • 동작은 비슷하지만 관심사가 다르다

Blocking / Non-Blocking

  • 관심사: 호출되는 함수가 바로 리턴하느냐 마느냐
  • Blocking: 호출된 함수가 자신의 작업을 모두 마칠때 까지 제어권을 넘겨주지 않고 대기하게 만듦
  • Non-Blocking: 호출된 함수가 호출한 함수에게 바로 제어권을 넘겨주고 호출한 함수가 다른 일을 할 수 있게 함

Synchronous / Asynchronous

  • 관심사: 호출되는 함수의 작업 완료 여부를 누가 신경 쓰느냐
  • Synchronous: 호출 하는 함수가 호출되는 함수의 완료 여부를 신경씀
  • Asynchronous: 호출하는 함수가 작업 완료 여부를 신경쓰지 않고, 호출받는 함수에게 callback 전달.

조합

  • Blocking, Synchronous: 함수 호출 후 다른일을 하지 못하고 대기
  • Non-Blocking, Asynchronous: 함수 호출 후 다른 일을 수행 할 수 있다.
  • Non-Blocking, Synchronous: 함수 호출 후 다른 작업을 할 수 있지만 작업 완료 여부를 계속 신경쓴다.
  • Blocking, Asynchronous: 함수 호출 후 다른 일을 하지 못하고 대기

참고

반응형
donaricano-btn
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함