동기1 [Javascript] 이벤트루프와 호출 스택(call stack), 비동기성 자바스크립트의 큰 특징으로 비동기성과 싱글스레드, Non-blocking IO가 있다. 비동기성은 알겠고, 논 블로킹 IO도 비동기성에서 오는 특징이라는건 알겠는데, 비동기성은 어떻게 동작하는 것일까? 그것도 싱글스레드라면, 한번에 한 동작밖에 못하는게 아닌지? 우선 동기성과 비동기성은 간단히 그림으로 살펴보자. 한 동작을 수행하다가 다른 동작이 필요한 경우, 동기 : 응답이 반환될때까지 하던 일을 멈추고 기다린다. 비동기 : 응답을 기다리느라 하던 일을 멈추지 않는다. 여기서 언뜻 들었던 의문이 있다. 하던 일을 멈추지 않는다 = 여러 일을 동시에 한다 => 싱글스레드인데? 이 부분은 자바스크립트의 동작 원리, 특히 이벤트루프와 호출스택을 이해해야 한다. 호출 스택(call stack) 자바스크립트는 .. 2020. 4. 3. 이전 1 다음