동기, 비동기 vs 블로킹, 논블로킹

gth1123·2022년 4월 18일
0

web

목록 보기
15/17

동기 / 비동기
블로킹 / 논블로킹

위 개념들은 비슷해보이지만
서로 다른 곳에 초점을 맞춘 개념

  • 조합하여 사용되는 것이라 더 비슷해보이는 것임

차이

동기와 비동기는 프로세스의 수행 순서 보장에 대한 매커니즘

블로킹과 논블로킹은 프로세스의 유휴 상태에 대한 개념

동기 vs 비동기

  • 순차적 흐름 vs 순처적 흐름을 따르지 않음

블로킹 vs 논블로킹

  • 처리되어야 하는 작업이 전체적인 작업 흐름을 막느냐 안막느냐에 대한 관점
    • 제어권이 누구한테 있느냐가 관심사
  • A함수를 실행하다가 A의 이너함수인 A-inner를 실행
    • 제어권이 A-inner로 넘어가면서 A가 멈춤(블로킹)

  • Sync-Blocking : 일반적인 중첩함수(비동기 없는)
  • Sync-NonBlocking : 이런 경우는 거의 못봄
  • Async-Blocking : async - await 을 사용해서 await으로 응답받을 동안 기다림
  • Async-NonBlocking
    • react-query에서 onSuccess에서 호출 후 비동기통신이 성공하면 콜백이 실행 됨

참고

profile
움직이는 만큼 행복해진다

0개의 댓글