2016-06-15 4 views
0

nodejs의 setTimeout은 C 언어 라이브러리 libev ev_timer로 구현됩니다. ev_timer는 어떻게 작동합니까?nodejs에서 사용하는 libev에서 ev_timer를 구현하는 방법

폴링을 사용하여 구현 되었습니까? 30 초의 시간 제한을 설정하면 보류중인 시간 초과에 대해 모든 프로세스가 밀리 초마다 검사합니까?

답변

0

libev가 libuv로 대체되었습니다.

타이머 API는 시스템의 다른 모든 비 IO 활동을 완료 한 후에는

here는 기본적으로 이벤트 루프 폴링 간다 예시되어있다. 현재로서는 하나 이상의 I/O 이벤트 보류 및 하나 이상의 타이머 이벤트가 있습니다. 설문 조사에 대한 입력은 등록 된 시간 이벤트 중에서 시간 초과가 가장 적은 방식으로 작성됩니다. 이 이벤트 루프가 유지하는 상대 시간 필드와 함께 타이머 콜백이 발생하는 데 필요한 시간을 파악하는 데 도움이됩니다.

즉, 대기 시간은 폴 호출을 통해 OS로 위임되며 정기적 인 재개 및 재검사를 통하는 것이 아닙니다.

희망이 도움이됩니다.