내부 동작 원리
V8에는 Event loop가 없다.
nodeJs나 브라우져에서 관리한다.
Event Loop는 여러개의 Queue로 이루어져있다.
Timer (setTimeOut, setInterval )
I/O callback
idle ( 매 Tick 마다 실행 )
poll ( 새로운 커넥션, 데이터 등)
check ( setImmediate )
close ( socket)
1번과 2번 어떤 것이 맞을 거 같은가???
정답은 둘다이다. EventLoop의 타이밍에 맞게 출력된다.
EventLoop가i/O callback Queeue 전에 있으면 setTimeout이 먼저 실행되고, i/O callback Queeue 을 막 지난 상태면, Check Queue가 실행되기에 setImmediate가 먼저 실행된다.
https://evan-moon.github.io/2019/08/01/nodejs-event-loop-workflow/
Last updated
Was this helpful?