【发布时间】:2010-10-27 10:00:54
【问题描述】:
Javascript 中的 setTimeout 如何在底层工作?是否存在一些硬件闹钟?或者解释器(通过系统)只是定期询问现在几点?
【问题讨论】:
标签: time timeout cpu-architecture
Javascript 中的 setTimeout 如何在底层工作?是否存在一些硬件闹钟?或者解释器(通过系统)只是定期询问现在几点?
【问题讨论】:
标签: time timeout cpu-architecture
指定的只是语言级别的效果。没有要求它在低级别以特定方式工作。这样做需要对您选择的语言中必须存在哪些函数进行一些侵入性策略,然后才能创建 Javascript 解释器。
一般来说,大多数操作系统都有一个系统计时器,它每秒滴答 X 次,解释器要么设置一个计时器来触发事件或在这么多滴答之后发送信号,要么运行一个单独的线程,直到它休眠处理超时的时间。那时,解释器将进行设置,以便下一个运行事件处理程序。但是你不应该依赖任何特定的行为,因为它是一个实现细节(如果你没有在你开发的浏览器中运行你的代码,可能会失败)。
【讨论】: