[TIL] Blocking/Non-blocking , Sync/Async

다혜·2022년 3월 18일
0

Network

목록 보기
2/5
post-thumbnail

✅ Blocking / Non-blocking

호출된 함수가 호출한 함수에게 바로 제어권을 건네주는 여부의 차이


📌 Blocking

✔ A 함수가 B 함수를 호출할 때, B 함수가 자신의 일을 다 마칠 때까지 제어권을 갖는다.
✔ A 함수는 B가 마칠 때까지 기다려야한다.

📌 Non-blocking

✔ A 함수가 B 함수를 호출할 때, B 함수는 할 일이 끝나지 않았어도 바로 A에게 제어권을 넘겨준다.
✔ A 함수는 B를 기다리며 다른 일을 진행할 수 있다.



✅ Synchronous / Asynchronous

호출된 함수의 수행 결과나 종료상태를 호출한 함수가 신경쓰는지 여부의 차이


📌 Synchronous

✔ A 함수가 B 함수를 호출 할 때, B 함수의 현재 상태를 A 함수가 체크한다.

📌 Asynchronous

✔ A 함수가 B 함수를 호출 할 때, B 함수의 수행 상태를 B 함수가 직접 처리한다.
✔ 호출 시 Callback을 전달하여 작업의 완료 여부를 A 함수에게 답한다.




💛 참고 : http://homoefficio.github.io/2017/02/19/Blocking-NonBlocking-Synchronous-Asynchronous/

profile
봉식이를 위한 개발을 하고 싶오

0개의 댓글