1. 程式人生 > 其它 >淺談瀏覽器多程序與JS執行緒

淺談瀏覽器多程序與JS執行緒

轉載下面的,摘錄一部分
https://segmentfault.com/a/1190000013083967

程序、執行緒之間的關係

一個程序有一個或多個執行緒,執行緒之間共同完成程序分配下來的任務。打個比方:

假如程序是一個工廠,工廠有它的獨立的資源
工廠之間相互獨立
執行緒是工廠中的工人,多個工人協作完成任務
工廠內有一個或多個工人
工人之間共享空間
再完善完善概念:

工廠的資源 -> 系統分配的記憶體(獨立的一塊記憶體)
工廠之間的相互獨立 -> 程序之間相互獨立
多個工人協作完成任務 -> 多個執行緒在程序中協作完成任務
工廠內有一個或多個工人 -> 一個程序由一個或多個執行緒組成
工人之間共享空間 -> 同一程序下的各個執行緒之間共享程式的記憶體空間(包括程式碼段、資料集、堆等)
程序是cpu資源分配的最小單位(是能擁有資源和獨立執行的最小單位),執行緒是cpu排程的最小單位(執行緒是建立在程序的基礎上的一次程式執行單位)。

瀏覽器內的程序

。。。。。。。。。。。。。。。。。。。

這篇文章很好,可以去原文中看