TIL (2021-03-03)

hareguu·2021년 3월 3일
0

Event Loop?

이글은 What the heck is the event loop anyway? (JS conference)를 시청하고 쓰는 글입니다.

자바스크립트의 가장 큰 특징은 "Single Thread" 기반의 언어 라는 것이다.
이런식으로 연상이 될것이다.

one thread runtime === one call stack === one thing at a time

그렇다면 하나의 스택으로 브라우저에서 수많은 이벤트를 동시에 실행하는데 이것은 단일 호출스택(call stack) 이상의 일일 하는건 아닐까? 라는 생각이든다. 이럴때 등장하는 것 이 "Event Loop" 이다. 그리고 비동기 방식으로 동시에 여러 일을 처리할수 있게 만들어준다. 자바스크립트를 공부하다보면 비동기와 동기 의 차이점을 배우게 된다. 예를 들어 promise 라던지.. async await 라던지..

이 링크를 타고 이벤트 루프를 시각적으로 확인해보고 이해해보자.

앞서 얘기했듯, 자바스크립트는 한번에 하나의 일만 수행할수있다 또한 하나의 함수가 실행되면 이 함수가 일을 마칠때까지 다른 어떤 작업도 끼어들수 없다. 이러한 방식을 Run-to-completion 이라 말한다.

profile
Who wanna be a programming nerd.

0개의 댓글