uv poll phase

Creator
Creator
Seonglae ChoSeonglae Cho
Created
Created
2020 Nov 24 7:53
Editor
Edited
Edited
2021 Apr 23 5:26
Refs
Refs
 
setTimeout, setInterval, setimmediate로 등록한 콜백을 제외한 대부분이 여기서 처리
해당 큐가 비어있지 않다면, 작업을 순차적으로 처리.
비어있다면, 즉시 다음 페이즈로 넘어가지 않가 일정시간 대기. 이때 대기하는 시간은 타이머 페이즈에서 실행할 작업이 있는지 검사후 있다면 넘어간다.
해당 페이즈가 관리하는 큐 이름은 watcher_queue이며, 검사하는 큐는 check_queue, pending_queue, close_callbacks_queue임 이름만 봐도 어디서 관리되는 큐인지 알 수 있음
 
 
fs.readFile은 poll phase에서 콜백이 실행되고 setimeout과 setImmediate의 콜백은 이때 이벤트루프에 있는 큐에 등록되는데 setimmediate는 check phase에 등록하면서 현재 poll phase의 다음 단계가 check phase이기 때문에 setImmediate()의 콜백 작업이 먼저 실행

Recommendations