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它...