當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JS定时器和单线程异步特性
生活随笔
收集整理的這篇文章主要介紹了
JS定时器和单线程异步特性
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先要說的是,定時器相關的方法都是屬于BOM方法,而定時器呢,它是用于在設定的時
間執行一段代碼,或者在給定的時間間隔內重復該代碼。具體函數:
定時器確實很好用,但是卻又不好用,為什么這么說呢?
我們知道JS是單線程的,既然是單線程那么就很容易出現線程被堵塞的情況,怎么解決
呢?——異步!
當然JS是單線程的它本身是不能異步的,但JS的宿主環境(比如瀏覽器,node)是多線程
的,宿主環境通過某種方式(比如:node的事件驅動)使得JS具備了異步的特性。
為什么突然談起JS的單線程異步呢?因為定時器事件會被JS異步處理,什么意思?
用代碼來說:
為什么會這樣?前面說過了,JS會把定時器事件異步處理,也就是說它并不會等待定時器事件
處理完成后再執行下面的代碼,而是直接將定時器事件插入到事件隊列當中后,直接執行下面
的代碼,當定時器事件執行完成后JS再反過頭來執行定時器事件的回調部分代碼,這就是異步!
異步可以有效的防止JS線程被堵塞,且會有很高的效率,能夠使JS在有限的資源下做更多的事
情,這一點是很了不起的。(node中我們會大量接觸關于異步的問題)
轉載于:https://www.cnblogs.com/luoge-Snippet/p/9271985.html
總結
以上是生活随笔為你收集整理的JS定时器和单线程异步特性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring MVC零配置(全注解)(版
- 下一篇: [SPOJ 687]Repeats