js高階_程序與執行緒
阿新 • • 發佈:2022-03-15
程序:
程式的一次執行,它佔有一片獨立的記憶體空間。
可以工作管理員檢視所有程序。
執行緒
是程序內的一個獨立執行單位。
是程式執行的一個完整流程。
是cpu的最小排程單位。
何為多程序與多執行緒?
多程序執行 :一應用程式可以同時啟動多個例項執行。
多執行緒:在一個程序內,同時有多個執行緒執行。
相關知識
應用程式必須執行在某個程序的某個執行緒上。
一個程序至少有一個執行的執行緒:主執行緒,程序啟動後自動建立。
一個程序中也可以同時執行多個執行緒,也就說這個程式是多執行緒執行的。
一個程序內的資料可以供其內部的所有執行緒共享。
多個程序之間的資料是不能直接共享的。
執行緒池 (thread pool):儲存多個執行緒的容器,實現執行緒物件的反覆利用(複用)。
多執行緒優點和缺點
優點
能有些提升cpu使用率。
缺點
建立多執行緒開銷。
執行緒切換開銷。
死鎖與狀態同步問題。
死鎖就是沒有執行緒去喚醒阻塞的執行緒。導致執行緒一直就是waiting。
單執行緒優點和缺點
優點
順序程式設計簡單易懂
缺點
效率低
js是單執行緒還是多執行緒
js是單執行緒執行,但是H5中的Web Workers可以多執行緒。
瀏覽器是單執行緒還是多執行緒
瀏覽器是多執行緒執行的。
## 瀏覽器是單程序還是多程序
有的多程序,有的單程序。