[nodejs] Node.js 이벤트 루프

Node.js는 단일 스레드 이벤트 루프를 사용하여 비동기 I/O 작업을 처리하는 데 특화된 프레임워크입니다. 이벤트 루프는 Node.js가 비동기 이벤트를 처리하고 콜백 함수를 실행하는 방식을 담당합니다.

이벤트 루프의 동작 방식

이벤트 루프는 Node.js가 비동기 작업을 처리하고 콜백을 실행하는 핵심 메커니즘입니다. 이벤트 루프는 주어진 순간에는 하나의 작업만 실행하고, 다른 작업이 완료되기를 기다리지 않고 지속적으로 실행됩니다. 이를 통해 Node.js는 높은 처리량과 빠른 응답 속도를 달성할 수 있습니다.

예시 코드

다음은 Node.js에서 이벤트 루프를 활용하는 간단한 예시 코드입니다.

// 이벤트 루프를 사용하여 비동기적으로 파일을 읽기
const fs = require('fs');

fs.readFile('example.txt', (err, data) => {
  if (err) throw err;
  console.log(data);
});

console.log('파일 읽기를 요청했음');

위 코드에서 fs.readFile 메서드는 파일을 비동기적으로 읽고, 읽기가 완료되면 콜백 함수가 실행됩니다. 이 과정은 이벤트 루프를 통해 비동기적으로 처리됩니다.

참고 자료