程式執行緒對比總結以及對於生產者消費者的場景分析
程式是一個正在執行的程式,是在計算機上執行的程式例項,是能分配給處理器並由處理器執行的實體。程式資訊在Linux下被放在一個叫做task_struct的結構體裡。在多執行緒的情況下,程式通常被定義為資源分配的單位和保護的單位。
執行緒在Linux下也叫做輕量級程式,是程式執行的最小單位。
執行緒是存在於程式中,每個執行緒都有執行緒執行狀態,在執行時會儲存執行緒的上下文,具有獨立的執行棧,並且有用於每個執行緒區域性變數的靜態儲存空間,執行緒可以對所屬程式的的記憶體和資源進行訪問,也可以與同一個程式中的其他執行緒共享資源。
執行緒共享程式的地址空間與資料,當一個執行緒修改資料後,其他的程式會看到修改後的資料,執行緒相比較程式來說效能上佔有很大優勢。在一個已有的程式中建立一個全新程式的時間要少,因為建立程式會建立PCB,建立對應的地址空間,建立頁表等,但是對於執行緒來說就不需要建立了,因為它與所屬程式是共享程式地址空間的。相同的,銷燬的時候對於執行緒也比較容易銷燬,花費時間較少。執行緒也提高了不同執行程式間通訊的效率。
程式與執行緒的關係表示(摘自《作業系統精髓與設計原理》)
相關文章
- Java多執行緒——生產者消費者示例Java執行緒
- java多執行緒:執行緒間通訊——生產者消費者模型Java執行緒模型
- Java多執行緒——消費者與生產者的關係Java執行緒
- python中多執行緒消費者生產者問題Python執行緒
- python執行緒通訊與生產者消費者模式Python執行緒模式
- Python-多執行緒及生產者與消費者Python執行緒
- Java 多執行緒學習(執行緒通訊——消費者和生產者)Java執行緒
- 執行緒間的協作(2)——生產者與消費者模式執行緒模式
- Java 多執行緒(Java.Thread)------ 執行緒協作(生產者消費者模式)Java執行緒thread模式
- python多執行緒+生產者和消費者模型+queue使用Python執行緒模型
- Java 多執行緒基礎(十二)生產者與消費者Java執行緒
- python 多執行緒實現生產者與消費者模型Python執行緒模型
- 讀者寫者與生產者消費者應用場景
- 生產者消費者模式--java多執行緒同步方法的應用模式Java執行緒
- 分享一個生產者-消費者的真實場景
- C#多執行緒學習(三) 生產者和消費者C#執行緒
- 多執行緒併發如何高效實現生產者/消費者?執行緒
- java學習回顧---生產者與消費者問題以及多執行緒補充Java執行緒
- 使用Python佇列和多執行緒實現生產者消費者Python佇列執行緒
- 生產者消費者模式,以及基於BlockingQueue的快速實現模式BloC
- Java多執行緒程式設計(同步、死鎖、生產消費者問題)Java執行緒程式設計
- 從一次生產消費者的bug看看執行緒池如何增加執行緒執行緒
- 生產者消費者
- 鎖,threading local,以及生產者和消費者模型thread模型
- Qt基於QSemaphore的生產者消費者模型QT模型
- 執行緒同步介紹及 生產者消費者問題舉例 C#版執行緒C#
- 生產者消費者模式模式
- 生產者消費者模型模型
- java 執行緒池、多執行緒併發實戰(生產者消費者模型 1 vs 10) 附案例原始碼Java執行緒模型原始碼
- java編寫生產者/消費者模式的程式。Java模式
- 多執行緒必考的「生產者 - 消費者」模型,看齊姐這篇文章就夠了執行緒模型
- Thinking in Java---執行緒通訊+三種方式實現生產者消費者問題ThinkingJava執行緒
- python 生產者消費者模式Python模式
- 中國銀髮市場:中產消費者對長者服務型消費的態度
- Python並行程式設計(六):多執行緒同步之queue(佇列)實現生產者-消費者模型Python並行行程程式設計執行緒佇列模型
- 生產消費者模式模式
- java多執行緒之消費生產模型Java執行緒模型
- python中多程式消費者生產者問題Python