Node.js가 단일 스레드라는 것은 기본적으로 Node.js의 주요 작업을 처리하는 메인 스레드가 하나라는 의미입니다. 이는 코드를 순차적으로 실행하고, 한 번에 하나의 작업만 처리한다는 것을 의미해요. 하지만, 모든 작업이 메인 스레드에서만 처리되는 것은 아닙니다.
백그라운드에서 스레드 풀을 사용한다는 것은, Node.js가 일부 작업(예: 파일 I/O, 네트워크 요청)을 백그라운드에서 다른 스레드(스레드 풀 내의 스레드들)에 할당하여 동시에 처리할 수 있다는 것을 의미합니다. 이 스레드 풀은 메인 스레드와 별개로 작동하며, 메인 스레드가 다른 작업을 계속 처리할 수 있도록 합니다.
간단히 말해서, Node.js의 메인 스레드는 단일 스레드로 작업을 순차적으로 처리하지만, 백그라운드의 스레드 풀을 통해 일부 작업은 병렬로 처리되어 전체적인 효율성과 성능을 향상시킵니다
웹 서버를 운용할 때는 CPU 코어를 분산해서 관리하므로 실제 작업은 여러 개의 코어에서 별개로 처리된다.