브라우저 VS Node.js의 이벤트 루프 차이 브라우저 이벤트 루프(Event Loop)란브라우저의 이벤트 루프에 대해서는 지난글에 다뤘으니, 링크만 걸어두겠다.[챗지피티와 공부를 해보자] 이벤트 루프와 비동기 처리 + 가비지 컬렉션과의 연관 Q. 브라우저 이벤트 루프 관련해서만 요약해줘A. 해당 블로그 글에서는 자바스크립트의 이벤트 루프와 비동기 처리, 그리고 가비지 컬렉션 간의 관계를 다루고 있다. 주요 내용을 요약하면 다음과 같다.이벤트 루프(Event Loop)자바스크립트는 싱글 스레드 기반으로 한 번에 하나의 작업만 실행할 수 있다.하지만 비동기 작업(예: HTTP 요청, setTimeout)을 처리하기 위해 이벤트 루프 메커니즘을 사용한다.이벤트 루프는 콜 스택(Call Stack)..
관련 주제 '이벤트 루프와 비동기 처리 + 가비지 컬렉션과의 연관' 이벤트 루프와 Web APIs의 관계자바스크립트는 싱글 스레드 언어로 한번에 하나의 작업만 실행할 수 있다.하지만 브라우저에서 비동기 작업을 처리할때는 이벤트 루프와 Web APIs가 함께 작동하여 여러 작업을 효율적으로 수행할 수 있다.즉, Web APIs가 없을 경우에는 자바스크립트는 싱글 스레드 언어이므로 모든 작업을 순차적으로 실행해야하는 비극을 겪을 수 있다. Web APIs 란?브라우저가 제공하는 기능으로 자바스크립트가 직접 실행할 수 없는 작업을 담당한다.자바스크립트는 Web APIs에 작업을 위임하고, Web APIs는 작업이 끝나면 콜백을 다시 자바스크립트로 넘겨주게 된다.즉, Web APIs는 자바스크립트의 비동기 처..

이벤트 루프와 비동기 처리 + 가비지 컬렉션과의 연관자바스크립트는 싱글 스레드 기반이다. 싱글 스레드이기 때문에 한번에 한가지 작업만 실행할 수 있다.하지만 그렇다고 한번에 한가지 작업만 하게되면? 문제가 많을것이다. (무한 대기가 생기겠지?)그렇기 때문에 브라우저나 노드 환경에서 여러 작업을 동시에 처리할 수 있도록 설계되어있는데, 이 핵심이 이벤트 루프다. 이벤트 루프란?자바스크립트의 비동기 처리를 가능하게하는 매커니즘이다. (비동기 작업 HTTP요청이나 setTimeout 등..)비동기 작업은 나중에 실행되도록 예약하고, 이벤트 루프는 준비된 작업을 실행할 수 있도록 한다.이때 어떤 순서대로 실행을 시킬까?우리가 여기서 알아야하는 기본적인 개념은 '콜스택, 태스트큐, 마이크로태스크큐' 이다. (W..