1. 程式人生 > 其它 >js高階_程序與執行緒

js高階_程序與執行緒

程序:

程式的一次執行,它佔有一片獨立的記憶體空間。
可以工作管理員檢視所有程序。

執行緒

是程序內的一個獨立執行單位。
是程式執行的一個完整流程。
是cpu的最小排程單位。

何為多程序與多執行緒?

多程序執行 :一應用程式可以同時啟動多個例項執行。

多執行緒:在一個程序內,同時有多個執行緒執行。


相關知識

應用程式必須執行在某個程序的某個執行緒上。
一個程序至少有一個執行的執行緒:主執行緒,程序啟動後自動建立。
一個程序中也可以同時執行多個執行緒,也就說這個程式是多執行緒執行的。
一個程序內的資料可以供其內部的所有執行緒共享。
多個程序之間的資料是不能直接共享的。
執行緒池 (thread pool):儲存多個執行緒的容器,實現執行緒物件的反覆利用(複用)。



多執行緒優點和缺點

優點

能有些提升cpu使用率。

缺點

建立多執行緒開銷。

執行緒切換開銷。

死鎖與狀態同步問題。
死鎖就是沒有執行緒去喚醒阻塞的執行緒。導致執行緒一直就是waiting。

單執行緒優點和缺點

優點

順序程式設計簡單易懂

缺點

效率低

js是單執行緒還是多執行緒

js是單執行緒執行,但是H5中的Web Workers可以多執行緒。

瀏覽器是單執行緒還是多執行緒

瀏覽器是多執行緒執行的。

## 瀏覽器是單程序還是多程序

有的多程序,有的單程序。