• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

블로킹 === 동기 , 논 블로킹 === 비동기 이 개념이 헷갈려서 질문드립니다.

21.12.30 22:35 작성 조회수 187

0

안녕하세요~ 제로초님

"노드의 특성" 강좌에서 논 블로킹과 동기를 같은 개념으로 그리고 블로킹과 비동기를 같은 개념으로 생각해도 무방하다고 하셨는데요. 제가 볼 때도, 둘은 같은 개념 같은데... 왜 블로킹과 비동기 같이 다른 이름으로 불리는 지 혼란스럽습니다.

보통 다른 이름으로 불려진다는 것은 매우 유사하면서도, 둘을 구분 지을 수밖에 없는 차이점이 있기 때문일텐데...

"블로킹 vs 동기" 의 차이점과   "논 블로킹 vs 비동기" 의 차이점은 무엇인가요??

아 그리고 내일이면, 연말인데 행복한 연말 보내시고, 2022년 새해 복도 많이 받으시기 바랍니다 :)

답변 1

답변을 작성해보세요.

1

비동기와 동기는 간단하게 코드의 순서랑 실행 순서가 일치하느냐로 볼 수 있습니다.

블로킹과 논블로킹은 코드의 실행이 다른 코드의 실행을 막느냐로 볼 수 있습니다.

그래서 두 개념이 다른 겁니다.

노드에서는 비동기면 논블로킹인 경우가 많습니다. fs같은 것들은 파일시스템 동작을 백그라운드로 넘겨버립니다. 그러면 그 와중에 다음 코드들이 실행되고, 파일시스템 동작이 완료되면 위에서 정의해둔 콜백이나 프로미스가 실행됩니다. 즉 코드도 순서대로 실행되지 않는 것이죠.

새해복 많이 받으세요!