은학의 코딩 일기장
[javascript] 이벤트루프 본문
자바스크립트 ⇒ 싱글스레드언어 ( 한번에 하나의 작업만 처리)
때문에 비동기 방식은 자바스크립트가 아닌 브라우저의 web apis에서 비동기 + 논블로킹 방식으로 처리됨
이벤트루프란?
브라우저의 동작을 제어하는 관리자역할
싱글 스레드인 자바스크립트의 작업을 멀티 스레드로 돌려 작업을 동시에 처리시키게 하던가, 또는 여러 작업 중 어떤 작업을 우선으로 동작시킬 것인지 결정하는 세심한 컨트롤을 하기 위해 존재하는 것이 바로 이벤트 루프
이벤트 루프를 이용한 프로그램 방식을 이벤트 기반(Event Driven) 프로그래밍이라고함
자바스크립트의 내부 구성도
- call stack : 자바스크립트 엔진이 코드실행을 위해 사용하는 메모리구조
- callback queue : 비동기 작업이 완료되면 실행되기위해 대기하는 공
- event loop : 비동기를 적절한 시점에 처리시키는 작업자
- web apis : 비동기 작업을 처리
'Javascript' 카테고리의 다른 글
[javascript] Promise (0) | 2024.09.03 |
---|---|
[javascript] 클로저 / 스코프 (0) | 2024.09.02 |
[Javascript] 단축평가 논리 계산법 (0) | 2023.03.28 |