길/Javascript 기본

동기와 비동기

7he8oy 2021. 2. 9. 11:02

Callback 함수에 대한 복습

 

callback 함수란 다른 함수의 전달인자(argument)로 넘겨주는 함수다. 

 

이때, parameter를 넘겨받는 함수는 callback 함수를 필요에 따라 즉시 실행하거나, 나중에 실행할 수 있다.

즉시 실행하는 것은 synchronously -> 동기

나중에 실행하는 것은 asynchronoously ->비동기

 

 


 

blocking vs non-blocking

blocking은 진행되던 일을 멈추고 다른 것을 시행해야하며,

non-blocking은 진행되던 일을 계속면서 실행할 수 있다.

 

blocking은 synchronous에 대응되고,

non-blocking은 asynchronous에 대응된다.

 


 

종합해보자면 콜백을 사용하여 함수들이 비동기적으로 실행되도록 만들면, 실행 속도가 빨라지는 것으로 보인다.

 

 

 

 

브라우저의 비동기 함수 작동 원리를 알려면...

 

EventLoop

developer.mozilla.org/ko/docs/Web/JavaScript/EventLoop

 

동시성 모델과 이벤트 루프 - JavaScript | MDN

동시성 모델과 이벤트 루프 Jump to sectionJump to section 자바스크립트는 코드 실행, 이벤트 수집과 처리, 큐에 놓인 하위 작업들을 담당하는 이벤트 루프에 기반한 동시성(concurrency) 모델을 가지고

developer.mozilla.org

 

Phillip Roberts: Help, I'm stuck in an event-loop

vimeo.com/487961998 

 

' > Javascript 기본' 카테고리의 다른 글

JavaScript Recursion Memory Leak  (0) 2021.02.15
타이머 API  (0) 2021.02.09
작성 시간과 현재 시간을 이용하여 ~전 출력  (0) 2021.02.07
Mapreduce  (0) 2021.02.03
정규표현식  (0) 2021.02.02