js中的巨集任務和微任務
js執行緒
JavaScript 語言的一大特點就是單執行緒,也就是說,同一個時間只能做一件事。
JavaScript 的單執行緒,與它的用途有關。作為瀏覽器指令碼語言,JavaScript 的主要用途是與使用者互動,以及操作 DOM。這決定了它只能是單執行緒,否則會帶來很複雜的同步問題。
所以,為了避免複雜性,從一誕生,JavaScript 就是單執行緒,這已經成了這門語言的核心特徵,將來也不會改變。
為了利用多核 CPU 的計算能力,HTML5 提出 Web Worker 標準,允許 JavaScript 指令碼建立多個執行緒,但是子執行緒完全受主執行緒控制,且不得操作 DOM。所以,這個新標準並沒有改變 JavaScript 單執行緒的本質。
非同步
單執行緒就意味著,所有任務需要排隊,前一個任務結束,才會執行後一個任務。這就造成了程式的阻塞
當我們主執行緒遇到非同步事件時,他並不會立刻執行 而是會去放進一個非同步佇列中,當我們所有的同步程式碼執行完畢時,js才會執行非同步對列中的方法
微任務和巨集任務
事件迴圈
相關文章
- 巨集任務和微任務
- JavaScript巨集任務和微任務JavaScript
- JS中EventLoop、巨集任務與微任務的個人理解JSOOP
- Event Loop、 巨集任務和微任務OOP
- JavaScript的巨集任務與微任務JavaScript
- 任務佇列,巨集任務與微任務佇列
- js的setTimeout和Promise—同步非同步和微任務巨集任務JSPromise非同步
- 微任務和巨集任務哪個先執行
- 微任務、巨集任務與Event-LoopOOP
- macrotask 巨集任務 + microtask 微任務區別Mac
- 關於非同步方法中的巨集任務與微任務非同步
- javascript事件環微任務和巨集任務佇列原理JavaScript事件佇列
- 瞭解js執行機制——微任務與巨集任務JS
- 前端急速解決非同步之微任務和巨集任務前端非同步
- JS事件迴圈機制(event loop)之巨集任務/微任務JS事件OOP
- JavaScript的事件迴圈與巨集微任務JavaScript事件
- async與await以及巨集微任務AI
- node基礎面試事件環?微任務、巨集任務?一篇帶你飛面試事件
- 總結:JavaScript非同步、事件迴圈與訊息佇列、微任務與巨集任務JavaScript非同步事件佇列
- 如何理解 JS 非同步程式設計的,EventLoop、訊息佇列,什麼是巨集任務,什麼是微任務?JS非同步程式設計OOP佇列
- UI 阻塞行為:微任務與宏任務UI
- 使用ant巨集定義任務
- 探究如何在Zoho Projects中建立和管理任務和子任務Project
- javaScript 之 蟻人<微任務>JavaScript
- Js定時任務JS
- 程序和任務
- 詳解JavaScript的任務、微任務、佇列以及程式碼執行順序JavaScript佇列
- JS/NodeJS中的非同步任務與事件環NodeJS非同步事件
- js設定定時任務JS
- 如何使用 cron 任務在 Linux 中計劃和自動化任務Linux
- 做好任務管理,從繁雜的任務中解脫出來
- 任務
- 在 JS 中如何排程後臺任務?JS
- Linux系統中延時任務及定時任務Linux
- SpringBoot與非同步任務、定時任務、郵件任務Spring Boot非同步
- Django配置celery執行非同步任務和定時任務Django非同步
- js定時任務佇列JS佇列
- Flutter中如何取消任務Flutter