이벤트루프

DevOps 블로그·2022년 3월 21일
0

Q: 이벤트 루프에 대해서 설명하시오

A: 이벤트 루프는 태스크가 들어오면 이를 처리하고, 처리할 태스크가 없는 경우에는 잠드는, 끊임없이 돌아가는 자바스크립트 내 루프 입니다.

자바스크립트의 엔진의 알고리즘은 아래와 같습니다.
처리해야할 태스크가 있는 경우 먼저 들어온 테스크부터 순차적으로 처리한다.
처리할 태스크가 없는 경우 잠들어 있다가 새로운 태스크가 추가되면 다시 1로 돌아간다.
이 알고리즘이 브라우자를 사용해서 인터넷을 서핑할 떄 돌아가는 알고리즘인데, 자바스크립트 엔진의 대부분의 시간동안은 아무런 일도 하지 않고 쉬고 있다가 스크립트나 핸들러, 이벤트가 활성화 될 때만 돌아갑니다.

자바스크립트 엔진을 활성화하는 태스크는 외부스크립트가 로드될 때, 이 스크립트를 실행하는 것, 사용자가 마우스를 움직일 때 mousemove 이벤트에 이벤트 핸들러를 실행하는 것, setTimeout에서 설정한 시간이 다된 경우, 콜백 함수를 실행하는 것 등이 있습니다.

profile
IT 엔지니어를 향해 살아가는, 공부하는 기록들을 모아두고 있습니다.

0개의 댓글