TIL-211115

EBinY·2021년 11월 15일
0

TIL - Today I Learned

목록 보기
4/54

비동기 쉽게 이해하기

  • 카페에서 커피를 주문받는 카운터가 있다
    • Synchronous(동기적), Blocking
      • 카운터에서 커피를 주문을 받으면, 주문을 받는 순간 커피를 만들기 시작
      • 커피를 만드는 동안, 주문은 할 수 없고 다음 손님들은 대기한다
      • 커피를 다 만들고 손님에게 제공하는 순간, 다음 손님이 주문을 한다
      • 처음의 커피를 제공하는 작업이 끝날 때까지, 다음 작업을 막는다
    • Asynchronous(비동기적), non-blocking
      • 카운터에서는 커피를 주문을 받고, 뒤에서는 주문 받은 커피를 만든다
      • 커피를 제공받는 순서가 꼭 주문을 받은 순서와 일치하지는 않는다
      • 만드는데에 단계가 더 필요한 커피는 더 늦게 제공받을 수 있다
      • 처음부터 다음의 커피 주문이 막힘없이 카운터에서 받아들인다

    고차함수와 Callback

  • 고차함수(Higher order function)의 개념을 리뷰한다
    • 다른 함수를 인자(argument)로 전달받을 수 있다
      • callback function
    • 다른 함수를 리턴할 수 있다
    • 고차함수는 콜백 함수와 커리 함수의 상위 개념이다
      • 콜백함수를 전달받은 caller 함수는
      • 함수 내부에서 이 콜백 함수를 호출(invoke)할 수 있다
      • caller는 조건에 따라 콜백 함수의 실행 여부를 결정한다
      • 호출하지 않을 수도 있고, 여러 번 실행할 수도 있다

0개의 댓글