본문 바로가기
개발

동기 비동기/ blocking nonblocking 개념

by meanjung 2021. 7. 29.

blocking io : 호출된 함수가 자신의 작업을 모두 끝낼 때까지 제어권을 갖고 있어 호출한 함수가 대기하도록 만든다.

non blocking io : 호출된 함수가 바로 return해서 호출한 함수에게 제어권을 주어 다른 일을 할 수 있게 한다.

☞ 호출되는 함수가 바로 리턴하느냐 마느냐가 중점

 

 

synchronous : 동기는 함수를 호출하고, 호출된 함수의 작업이 완료된 후의 return을 기다리거나 return을 받더라도 호출 함수가 계속해서 작업완료 여부를 신경쓴다.

asynchronous : 함수를 호출할 때 callback 함수를 같이 전달해 작업이 완료되면 callback을 실행시킨다.

☞ 호출되는 함수의 작업 완료 여부를 누가 신경쓰느냐가 중점

 

 

▼한 방에 이해하기

https://musma.github.io/2019/04/17/blocking-and-synchronous.html

 

무스마 기술블로그

Smarter Industrial IoT Solution Provider

musma.github.io

 

 

++ node.js, flask가 어떤 방식으로 동작하는지도 알아봐야겠다...

댓글