Linux執行緒與程序


程序

程序是程式的執行,允許你執行程式中指定的相應操作。它可以定義為程式執行的執行單元。作業系統幫助你建立、排程和終止CPU使用的程序。主程序建立的其他程序稱為子程序。

執行緒

執行緒是程序的一部分,是一個執行單元。一個程序可以有多個執行緒,所有執行緒同時執行。它是併發程式設計中的執行單元。

請考慮下表,它從不同方面描述了程序和執行緒的區別。

比較依據程序執行緒
定義程序是正在執行的程式。執行緒是執行單元。
上下文切換時間程序上下文切換時間較長,因為它們較重。執行緒上下文切換時間較短,因為它們比程序輕量。
記憶體程序完全獨立,不共享記憶體。執行緒共享記憶體。
通訊程序間通訊比執行緒間通訊耗時更長。執行緒間通訊比程序間通訊耗時更短。
資源消耗程序比執行緒消耗更多資源。執行緒通常比程序需要更少的資源。
依賴性各個程序彼此獨立。執行緒是程序的一部分,因此是相互依賴的。
資料和程式碼共享程序擁有獨立的資料和程式碼段。執行緒與其同級執行緒共享資料段、程式碼段、檔案等。
作業系統處理作業系統分別處理所有不同的程序。作業系統將所有使用者級同級執行緒視為單個任務。
建立時間程序建立需要更多時間。執行緒建立需要更少時間。
終止時間程序終止需要更多時間。執行緒終止需要更少時間。

更新於:2021年7月31日

3K+ 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.