작성
·
286
0
안녕하세요~ 제로초님
"노드의 특성" 강좌에서 논 블로킹과 동기를 같은 개념으로 그리고 블로킹과 비동기를 같은 개념으로 생각해도 무방하다고 하셨는데요. 제가 볼 때도, 둘은 같은 개념 같은데... 왜 블로킹과 비동기 같이 다른 이름으로 불리는 지 혼란스럽습니다.
보통 다른 이름으로 불려진다는 것은 매우 유사하면서도, 둘을 구분 지을 수밖에 없는 차이점이 있기 때문일텐데...
"블로킹 vs 동기" 의 차이점과 "논 블로킹 vs 비동기" 의 차이점은 무엇인가요??
아 그리고 내일이면, 연말인데 행복한 연말 보내시고, 2022년 새해 복도 많이 받으시기 바랍니다 :)
답변 1
1
비동기와 동기는 간단하게 코드의 순서랑 실행 순서가 일치하느냐로 볼 수 있습니다.
블로킹과 논블로킹은 코드의 실행이 다른 코드의 실행을 막느냐로 볼 수 있습니다.
그래서 두 개념이 다른 겁니다.
노드에서는 비동기면 논블로킹인 경우가 많습니다. fs같은 것들은 파일시스템 동작을 백그라운드로 넘겨버립니다. 그러면 그 와중에 다음 코드들이 실행되고, 파일시스템 동작이 완료되면 위에서 정의해둔 콜백이나 프로미스가 실행됩니다. 즉 코드도 순서대로 실행되지 않는 것이죠.
새해복 많이 받으세요!