동기 / 비동기
블로킹 / 논블로킹
위 개념들은 비슷해보이지만
서로 다른 곳에 초점을 맞춘 개념
- 조합하여 사용되는 것이라 더 비슷해보이는 것임
차이
동기와 비동기는 프로세스의 수행 순서 보장에 대한 매커니즘
블로킹과 논블로킹은 프로세스의 유휴 상태에 대한 개념
동기 vs 비동기
블로킹 vs 논블로킹
- 처리되어야 하는 작업이 전체적인 작업 흐름을 막느냐 안막느냐에 대한 관점
- A함수를 실행하다가 A의 이너함수인 A-inner를 실행
- 제어권이 A-inner로 넘어가면서 A가 멈춤(블로킹)
- Sync-Blocking : 일반적인 중첩함수(비동기 없는)
- Sync-NonBlocking : 이런 경우는 거의 못봄
- Async-Blocking : async - await 을 사용해서 await으로 응답받을 동안 기다림
- Async-NonBlocking
- react-query에서 onSuccess에서 호출 후 비동기통신이 성공하면 콜백이 실행 됨
참고