스레드(Thread)는 쉽게 말해 CPU의 일꾼! 하지만, 실제로는 CPU가 일을 하여 결과는 CPU혼자 일한다.
Javascript는 Single Thread
메인스레드인 이벤트 루프가 싱글 스레드(일꾼 한 명 - 순차실행)이다.
Node는 Multi Thread
멀티스레드(일꾼 여러명 - 병행실행) 환경에서 실행된다.
차이점
Javsscript는 싱글 스레드이나, 브라우져는 멀티 스레드이다.
Javascript Engine
Web API
Javscript를 사용하면서 우리가 많이 사용하는 API 들은 사실 JavaScript에서 지원하는 것이 아닌 웹 브라우저에서 제공하는 API로 DOM ,AJAX, Timeout 등이 있다.
Task Queue
Event Loop
마이크로태스크(Microtask)
process.nextTick
Promise
Object.observe
MutationObserver
매크로태스크(Macrotask)
setTimeout
setInterval
setImmediate
requestAnimationFrame
I/O
UI 렌더링
참고자료
MinkukPark
gil0127