Linux執行緒與程序
程序
程序是程式的執行,允許你執行程式中指定的相應操作。它可以定義為程式執行的執行單元。作業系統幫助你建立、排程和終止CPU使用的程序。主程序建立的其他程序稱為子程序。
執行緒
執行緒是程序的一部分,是一個執行單元。一個程序可以有多個執行緒,所有執行緒同時執行。它是併發程式設計中的執行單元。
請考慮下表,它從不同方面描述了程序和執行緒的區別。
| 比較依據 | 程序 | 執行緒 |
|---|---|---|
| 定義 | 程序是正在執行的程式。 | 執行緒是執行單元。 |
| 上下文切換時間 | 程序上下文切換時間較長,因為它們較重。 | 執行緒上下文切換時間較短,因為它們比程序輕量。 |
| 記憶體 | 程序完全獨立,不共享記憶體。 | 執行緒共享記憶體。 |
| 通訊 | 程序間通訊比執行緒間通訊耗時更長。 | 執行緒間通訊比程序間通訊耗時更短。 |
| 資源消耗 | 程序比執行緒消耗更多資源。 | 執行緒通常比程序需要更少的資源。 |
| 依賴性 | 各個程序彼此獨立。 | 執行緒是程序的一部分,因此是相互依賴的。 |
| 資料和程式碼共享 | 程序擁有獨立的資料和程式碼段。 | 執行緒與其同級執行緒共享資料段、程式碼段、檔案等。 |
| 作業系統處理 | 作業系統分別處理所有不同的程序。 | 作業系統將所有使用者級同級執行緒視為單個任務。 |
| 建立時間 | 程序建立需要更多時間。 | 執行緒建立需要更少時間。 |
| 終止時間 | 程序終止需要更多時間。 | 執行緒終止需要更少時間。 |
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP