js 執行緒和程序的關係

2022-09-05 12:00:11 字數 513 閱讀 8848

程序(process)和執行緒(thread)是作業系統的基本概念

1.計算機的核心是cpu,它承擔了所有的計算任務

2.單個cpu一次只能執行乙個任務

3.程序它代表cpu所能處理的單個任務。任一時刻,cpu總是執行乙個程序,其他程序處於非執行狀態

4.乙個程序可以包括多個執行緒。

5.乙個程序的記憶體空間是共享的,每個執行緒都可以使用這些共享記憶體。

6.乙個執行緒使用某些共享記憶體時,其他執行緒必須等它結束,才能使用這一塊記憶體。

7.乙個防止其他執行緒使用的簡單方法"互斥鎖"(mutual exclusion,縮寫 mutex),防止多個執行緒同時讀寫某一塊記憶體區域。

8.某些記憶體區域,只能供給固定數目的執行緒使用。

作業系統的設計,因此可以歸結為三點:

(1)以多程序形式,允許多個任務同時執行;

(2)以多執行緒形式,允許單個任務分成不同的部分執行;

(3)提供協調機制,一方面防止程序之間和執行緒之間產生衝突,另一方面允許程序之間和執行緒之間共享資源。

程序和執行緒的關係

程序是系統資源管理的最小單位,執行緒是程式執行的最小單位。執行緒和程序十分相似,不同的只是執行緒比程序小。首先,執行緒採用了多個執行緒可共享資源的設計思想。例如,它們的操作大部分都是在同一位址空間進行的。其次,從乙個執行緒切換到另一線程所花費的代價比程序低。再次,程序本身的資訊在記憶體中占用的空間比...

linux執行緒和程序的關係

linux的執行緒與程序,和傳統的執行緒與程序不太一樣。傳統的windows系統下,在核心中都有專門支援執行緒的機制,所以把執行緒叫做輕量級程序。從linux核心角度來看,執行緒和程序的本質上並無太大區別,因為他們共用了一套結構體,和排程演算法。對比一下執行緒和程序的建立就可以知道 執行緒建立 cl...

Linux的程序和執行緒關係

一 理解linux的程序,執行緒,pid,lwp,tid,tgid 程序是資源分配的基本單位,執行緒是排程的基本單位 程序是資源的集合,這些資源包括記憶體位址空間,檔案描述符等等,乙個程序中的多個執行緒共享這些資源。cpu對任務進行排程時,可排程的基本單位 dispatchable entity 是...