程序 與 執行緒的異同

2021-10-24 06:24:47 字數 599 閱讀 4356

1.起源不同:

先有程序,後面再有執行緒

2.概念不同

程序:程序是程式真正執行起來的例項,是系統分配資源與排程的基本單位

執行緒:是cpu排程的基本單位

3.記憶體共享方式不同

程序:作業系統給不同程序分配一定的記憶體,不同程序的記憶體通常不共享。除非使用程序間通訊xx

執行緒:乙個程序裡的執行緒同屬於同乙個程序,程序間記憶體共享的,只考慮如何協作分配的問題即可。

4.擁有的資源不同

1.不同執行緒共享的內容包括:

(1)程序**段

(2)程序的共有資料

2.不同執行緒獨有的內容包括:

(1)執行緒id

(2)執行緒的堆疊

5.數量不同

乙個程序至少包括乙個程序,也可以包括多個執行緒

6.開銷不同

(1)執行緒的建立、中指時間比程序短

(2)同一程序內的執行緒切換時間 比 程序切換短

(3)同一程序的各個執行緒間共享記憶體和檔案資源,可以不通過核心進行通訊。

7.生命週期相似

執行緒和程序的異同?

執行緒與程序的差別 通訊 程序間通訊ipc,執行緒間可以讀寫程序的資料段來進行通訊 需要程序同步和互斥手段的輔助,以保證資料的一致性。排程和切換 執行緒的排程和上下文切換比較快 程序間是相互獨立的,這表現在記憶體空間,上下文 執行緒執行在程序的空間內 同一程序中的兩段 不能夠同時進行,除非引入執行緒...

程序與執行緒

程序 process 管理單元,管理分配應用程式的資料,的記憶體空間.執行緒 thread 執行單元,執行緒負責執行乙個預先編排好的 段,執行 棧是基於執行緒的.乙個應用程式啟動的時候,程序自動建立,並且會預設建立主線程,主線程負責執行main 方法.thread t new thread new ...

程序與執行緒

程序 是擁有資源的實體,包括 1。乙個程序有乙個虛擬位址空間,不同程序位於不同的 虛擬位址空間中。程序之間若要通訊,必須通過作業系統 的功能呼叫 ipc 2。程序擁有其他資源,例如開啟的檔案和i o裝置。程序結束時,作業系統會自動釋放該程序擁有的所有資源。例如,如果 open乙個檔案而不close它...