otto.log
로그인
otto.log
로그인
동기/비동기, 블로킹/논블로킹
otto_dev
·
2022년 7월 21일
팔로우
0
논블로킹
동기
블로킹
비동기
0
블로킹(Blocking)/ 논블로킹(Non-Blocking)
블로킹
제어권을 넘김
.
호출된 함수가 제어권을 가짐, 작업 완료후 반환.
그동안 호출한 함수는 제어권을 상실하고 일시정지.
논블로킹
제어권을 넘기지 않음
.
호출한 함수가 제어권을 가짐.
호출된 함수는 제어권 없이 작업.
동기(Synchronous) /비동기(Asynchronous)
동기
호출한 함수가 작업 완료 확인
일 시켜놓고 끝났는지 자꾸 힐끔거리고 신경쓰는 타입.
비동기
호출된 함수가 작업 완료후 callback 함수를 실행하면서 작업 완료를 알림.
callback 함수는 함수 호출시에 함께 전달.
callback 함수가 있으니 일 시켜놓고 중간중간 신경쓰지 않음.
비동기를 많이 쓸 경우 callback 지옥에 빠질 수 있음.
조합
동기-블로킹 (Sync-Blocking)
Read/Write
동기-논블로킹 (Sync-NonBlocking)
Read/Write (Polling)
비동기-블로킹 (Async-Blocking)
I/O multiflexing (Select/poll)
비효율적
비동기-논블로킹 (Async-NonBlocking)
Async I/O
참고자료
velog.io/@nittre/블로킹-Vs.-논블로킹-동기-Vs.-비동기
https://victory0602.tistory.com/32
otto_dev
공부 및 아카이브용 계정
팔로우
이전 포스트
[kotlin] 문법 공부 기록
다음 포스트
[Next.js] <Link> without <a>
0개의 댓글
댓글 작성