Sync/Async, Blocking/Non-Blocking

choko's avatar
Jun 29, 2024
Sync/Async, Blocking/Non-Blocking
  • A,B 함수가 있고, A가 B를 호출했다고 했을 때
    • Async는 B의 수행 결과나 종료 상태를 A가 신경쓰고 있다.
    • Blocking은 호출된 함수가 호출한 함수에게 아예 제어권을 건네준다.

 
 
 
 
notion image
 

Blocking / Non-Blocking

  • 다른 주체가 작업할 때 자신의 제어권이 있는지 없는지로 구분
    • Blocking / Non-Blocking : 제어권을 안넘기는지 / 넘기는지

Sync / Async

  • Sync와 Async는 결과를 돌려주었을 때 순서와 결과에 관심이 있는지 없는지로 판단한다
    • Sync / Async: 결과를 돌려줄 때 결과와 순서에 관심이 있는지 / 없는지
 
 
  1. Sync + Blocking
      • 호출 후 일이 끝날때까지 대기
  1. Async + Non-Blocking
      • 호출 후, 대기하지 않고 다른 일 수행
  1. Sync + Non-Blocking
    1. notion image
      • 호출한 함수(A)가 다른 작업을 수행할 수 있었음에도 불구하고 여전히 호출된 함수(B)의 결과에만 신경쓰기에 제 할 일을 못하게 되는 형태가 된다!
 
  1. Async + Blocking
    1. notion image
      • 호출한 함수(A)는 호출되는 함수(B)의 작업 결과에 관심이 없음에도 불구하고 호출되는 함수(B)의 결과를 기다리고 있어야 하는 형태다.
       
Share article

Tom의 TIL 정리방