Javascript中的setTimeout在底层是如何工作的?有没有硬件闹钟?或者解释器(通过系统)只是周期性地询问现在是什么时间?
发布于 2010-10-27 18:12:08
所有指定的都是语言级的效果。没有要求它以一种特定的方式在较低的级别上工作。这样做需要一些侵入性的策略,说明在您选择的语言中必须存在哪些函数,然后才能创建Javascript解释器。
通常,大多数OSes都有一个系统计时器,该计时器每秒计时X次,解释器会设置一个计时器来触发事件,或者在计时过多之后发送信号,或者运行一个单独的线程休眠,直到处理超时的时间到了。此时,解释器将进行设置,以便下一步运行事件处理程序。但您不应该依赖任何特定的行为,因为这是一个实现细节(如果您不是在为其开发的浏览器中运行代码,则可能会严重失败)。
https://stackoverflow.com/questions/4031962
复制相似问题