簡單粗暴總結線程和進程區別

①:一個進程由一個或多個線程組成。瀏覽器

②:打開任務管理器,能夠看到每一個進程的內存資源信息以及cpu佔有率。因此進程是cpu資源分配的最小單位(系統會給它分配內存)多線程

③:通常通用的說法:單線程與多線程,都是指在一個進程內的單和多。(因此核心仍是得屬於一個進程才行)異步

④: 瀏覽器是多進程的,每打開一個Tab頁,就至關於建立了一個獨立的瀏覽器進程。
強化記憶:在瀏覽器中打開一個網頁至關於新起了一個進程(進程內有本身的多線程)
頁面的渲染,JS的執行,事件的循環,都在這個進程內進行。spa

⑤:進程包括的線程有:線程

  1. GUI渲染線程 負責渲染瀏覽器界面,解析HTML,CSS,構建DOM樹
  2. JS引擎線程 也稱爲JS內核,負責解析Javascript腳本,運行代碼。
  3. 事件觸發線程 將對應任務添加到事件線程中,當事件符合觸發條件被觸發事件觸發時才執行
  4. 定時觸發器線程 傳說中的setInterval與setTimeout所在線程
  5. 異步http請求線程 在XMLHttpRequest在鏈接後經過瀏覽器新開一個線程請求

圖片描述

相關文章
相關標籤/搜索