2009-04-11 3 views
12

시간이 지났거나 자바 스크립트 또는 다른 해석 언어로 구현 된 후에 함수가 어떻게 호출됩니까?setTimeout은 일반적으로 자바 스크립트 인터프리터 또는 타이머에서 어떻게 구현됩니까?

즉, 자바 스크립트 인터프리터에는 타이머 목록을 항상 확인하는 루프가 있습니까? 아니면 운영 체제가이를 처리하는 특별한 방법이 있습니까? 당신은 Firefox 또는 WebKit의 소스에서 볼 수 있었다

감사

답변

9

여기에 대한 설명이 John Resig's blog

+3

그 블로그 게시물은 자바 스크립트 실행 큐를 분석하는 데는 좋지만 실제로는 질문에 답하지 않습니다. 타이머가 작동하면 대기열에 물건이 어떻게 들어가나요? 실행 큐가 나중에 실행될 스케쥴러가 아닌 것처럼 보입니다. 공간이있을 때 즉시 실행됩니다. 실행 대기열을 추가하는 실제 타이머가 어떻게 작동하는지 알고 있습니까? 나는 리눅스 envs에서 그것은 ev http://linux.die.net/man/3/ev와 같을 수 있다고 상상할 것이다. – user541905

1

그들이 그것을 구현하는 방법을 볼 수 있습니다.

+0

예. 그러나 실제로 어떤 언어로도 사용할 수있는 일반적인 접근 방식이 있는지 알고 싶습니다. – alvatar