블럭과 논블럭, 동기와 비동기

산하·2022년 1월 2일
0
post-thumbnail

동기 비동기에 관한 레퍼런스를 찾아보던 중 블럭과 논블럭 단어가 계속 등장해서 정리해보았다.

블록 | 논블록

블럭

  • 함수 호출 시 모든 로직을 끝마치고 리턴
  • 끝나기 전까지 다른 함수 호출 불가
  • 제어 권한은 작업이 끝날 때 가지 넘어가지 않음

논블럭

  • 함수 호출 시 로직 수행 중에 리턴
  • 제어 권한은 작업이 완료되기 전에 넘어감

동기 | 비동기

동기

  • 두가지 이상의 로직이 순차적으로 실행
  • 두가지 이상의 로직은 인과관계가 있어야 함
  • 호출된 함수 리턴 시간 = 결과 반환 시간

비동기

  • 두가지 이상의 로직이 비순차적으로 실행
  • 호출된 함수 리턴 시간 != 결과 반환 시간

동기 = 블록, 비동기 = 논블록 ?

결론적으로 같은 개념이 아니다. 블럭과 논블럭은 I/O에 중점을 두지만 동기와 비동기는 행위에 기준을 둔 추상적인 개념이다.

참고 레퍼런스 - [하마]이승현 - 블럭,논블럭,동기,비동기 이야기

profile
반갑습니다 :) 백앤드 개발자 산하입니다!

0개의 댓글