瀏覽器事件循環原理 —— 任務優先級

?系列文章目錄

  • 第一章?瀏覽器事件循環原理 —— 瀏覽器進程模型
  • 第二章?瀏覽器事件循環原理 —— 渲染主線程如何工作?
  • 第三章 瀏覽器事件循環原理 —— 何為異步?
  • 第四章 瀏覽器事件循環原理 —— JS為何會阻礙渲染?


文章目錄

系列文章目錄

文章目錄

前言

總結


前言

該文章作用于 “web前端大師課” 的學習筆記,附上課程鏈接。


任務有優先級嗎

任務沒有優先級,在消息隊列中先進先出,但消息隊列是有優先級的

根據 W3C 的最新解釋

  • 每個任務都有?個任務類型,同?個類型的任務必須在?個隊列,不同類型的任務可以分屬于不同的隊列。
  • 在?次事件循環中,瀏覽器可以根據實際情況從不同的隊列中取出任務執?。

  • 瀏覽器必須準備好?個微隊列,微隊列中的任務優先所有其他任務執?。

三大隊列

  • 延時隊列:?于存放計時器到達后的回調任務,優先級「中」
  • 交互隊列:?于存放?戶操作后產?的事件處理任務,優先級「?」
  • 微隊列:?戶存放需要最快執?的任務,優先級「最?」

注:添加任務到微隊列的主要?式主要是使? Promise、MutationObserver


總結

任務在消息隊列中,先進先出,沒有優先級;但是消息隊列有三大類,微隊列、交互隊列、延時隊列,他們的優先級從高到低排列。微隊列是每個瀏覽器必須準備好的一個消息隊列,它的優先級是最高的;其次是交互隊列,w3c官方認為,用戶交互的事件要盡可能的及時反饋,所以他的優先級是除了微隊列最高的;最后則是延時隊列,一般setTimeout()等計時器的方法都放在這個隊列中,但是他的優先級是最低的,這也是 js 中?setTimeout() 的計時不是精確的原因之一,會有一些偏差。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/160949.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/160949.shtml
英文地址,請注明出處:http://en.pswp.cn/news/160949.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C/C++雜談-printf的可變參數機制

C/C雜談-printf的可變參數機制 文章目錄 C/C雜談-printf的可變參數機制printf的使用printf的源碼源碼剖析 多參數實現機制原理 C11引入了可變參數模板機制,對模板參數進行了高度泛化,但是對于可變參數其實C語言學習中早已遇到過,那就是printf…

【Redis】持久化-RDBAOF混合持久化

文章目錄 前置知識RDB(定期備份)觸發機制流程說明RDB文件的處理RDB 的優缺點 AOF(實時備份)使用AOF命令寫入AOF工作流程文件同步重寫機制重寫觸發機制AOF進制重寫流程 混合持久化啟動時數據恢復 總結 前置知識 回顧MySQL MySQL的事…

LeetCode(28)盛最多水的容器【雙指針】【中等】

目錄 1.題目2.答案3.提交結果截圖 鏈接: 盛最多水的容器 1.題目 給定一個長度為 n 的整數數組 height 。有 n 條垂線,第 i 條線的兩個端點是 (i, 0) 和 (i, height[i]) 。 找出其中的兩條線,使得它們與 x 軸共同構成的容器可以容納最多的水…

云計算時代改變了什么?

當今云計算時代,計算資源和數據存儲已經不再受限于本地設備的硬件和軟件限制。云計算技術的發展和普及,使得用戶可以通過互聯網訪問大量的計算資源和存儲空間,從而改變了我們對計算和數據的看法。本文將探討云計算時代對計算和數據處理的影響…

對線程的創建

一,概括 二,線程構建方式一(繼承Thread類) 三,案例 父類: package Duoxiancheng;public abstract class Name {public static void main(String[] args) {//3,創建一個Thread線程類對象Thr…

匯編語言學習筆記

匯編語言的不同種類 as86匯編:能產生16位代碼的Intel 8086匯編 mov ax, cs //cs→ax,目標操作數在前GNU as匯編:產生32位代碼,使用AT&T系統V語法 movl var, %eax // var→%eax,目標操作數在后內嵌匯編…

Android異步之旅:探索AsyncTask

前言: 在Android應用程序開發中,異步操作是非常常見的需求。比如,我們可能需要在后臺線程中執行網絡請求、數據庫操作或者其他耗時的任務,而不阻塞UI線程。為了實現這些異步操作,Android提供了多種方式,其…

基于Qt的UDP通信、TCP文件傳輸程序的設計與實現——QQ聊天群聊

🙌秋名山碼民的主頁 😂oi退役選手,Java、大數據、單片機、IoT均有所涉獵,熱愛技術,技術無罪 🎉歡迎關注🔎點贊👍收藏??留言📝 獲取源碼,添加WX 目錄 前言一…

PostgreSQL序列,怎么才能第二天重新從1開始計數

--確定日期最大值和每天序列號最大值 with cte as(select (((1::bigint)<<32)-1) as max_date_second,(((1::bigint)<<31)-1) as max_sn )select max_date_second,to_timestamp(max_date_second),max_sn,((max_date_second<<31)|max_sn) as max_val,(((max_d…

Selenium 元素不能定位總結

目錄 元素不能定位總結: 1、定位語法錯誤&#xff1a; 定位語法錯誤&#xff0c;如無效的xpath&#xff0c;css selector,dom路徑錯誤&#xff0c;動態dom 定位語法錯誤&#xff0c;動態路徑&#xff08;動態變化&#xff09; 定位策略錯誤&#xff0c;如dom沒有id用id定位…

研發探索:導購APP、查券返利機器人與淘客系統,全面對比與選擇

研發探究&#xff1a;導購APP、查券返利機器人與淘客系統&#xff0c;全面對比與選擇 在互聯網購物的時代&#xff0c;導購APP、淘客機器人和微賺淘客系統成為了消費者們的三大好幫手。它們各具優勢&#xff0c;但也存在一些不足。本文將為您詳細對比這三種工具&#xff0c;幫…

vue history路徑編碼

記錄今天遇到的一個問題&#xff1a; 問題現狀 有一個需要前端偽造302進行重定向的需求&#xff0c;我們需要將這樣的一個路徑&#xff1a;http://xxx.com/system-name/#/index&#xff0c;拼接在跳轉地址的后面&#xff0c;進行重定向。拼接的方式是這樣的&#xff1a; htt…

攻防世界-web-Confusion1

1. 題目描述 打開鏈接&#xff0c;如圖 點擊Login和Rigister&#xff0c;都報錯 但是有提示 指出了flag所在的位置&#xff0c;題目中直接能獲取到的信息暫時就這么些了 2. 思路分析 既然告訴了我們flag文件的位置&#xff0c;那么要讀取到這個文件&#xff0c;要么是任意文…

AI輔助帶貨直播場景源碼系統 附帶網站的搭建教程

互聯網技術的發展和普及&#xff0c;直播帶貨行業迅速崛起。然而&#xff0c;直播帶貨在帶來商機的同時&#xff0c;也面臨著諸多挑戰。如直播內容缺乏新意、轉化率低等問題。針對這些問題&#xff0c;AI輔助帶貨直播場景源碼系統應運而生&#xff0c;旨在利用人工智能技術&…

【高級滲透篇】網絡安全面試

【高級滲透篇】網絡安全面試 1.權限維持2.代碼安全Python語法相關 1.權限維持 Linux權限維持方法論 Windows權限維持方法論 2.代碼安全 Python 語法相關 1、Python的值類型和引用類型是哪些 Python 中的值類型包括&#xff1a; 數字類型&#xff08;如整數、浮點數、復數…

對接蘋果支付退款退單接口

前言 一般而言&#xff0c;我們其實很少對接退款接口&#xff0c;因為退款基本都是商家自己決定后進行操作的&#xff0c;但是蘋果比較特殊&#xff0c;用戶可以直接向蘋果發起退款請求&#xff0c;蘋果覺得合理會退給用戶&#xff0c;但是目前公司業務還是需要對接這個接口&am…

試試MyBatis-Plus可視化代碼生成器,太香了,你一定會感謝我

前言 在基于Mybatis的開發模式中&#xff0c;很多開發者還會選擇Mybatis-Plus來輔助功能開發&#xff0c;以此提高開發的效率。雖然Mybatis也有代碼生成的工具&#xff0c;但Mybatis-Plus由于在Mybatis基礎上做了一些調整&#xff0c;因此&#xff0c;常規的生成工具生成的代碼…

PC端使子組件的彈框關閉

子組件 <template><el-dialog title"新增部門" :visible"showDialog" close"close"> </el-dialog> </template> <script> export default {props: {showDialog: {type: Boolean,default: false,},},data() {retu…

【JavaSE】-5-嵌套循環

回顧 一、java語言特點 二、配置java環境 path 三、記事本 javac -d . java 包名.類名 四、eclipse 五、變量 定義變量 數據類型 變量名值; 六、相關的數據類型 ? 基本&#xff08;四類 、8種&#xff09;、引用 ? 類型轉換&#xff08;自動、強制&#xff09; ? 運…

Java面向對象(高級)-- 類中屬性賦值的位置及過程

文章目錄 一、賦值順序&#xff08;1&#xff09;賦值的位置及順序&#xff08;2&#xff09;舉例&#xff08;3&#xff09;字節碼文件&#xff08;4&#xff09;進一步探索&#xff08;5&#xff09;最終賦值順序&#xff08;6&#xff09;實際開發如何選 二、(超綱)關于字節…