執行緒與程序
cpu單個cpu一次只能執行乙個任務
程序 (process)
任意時刻,cpu總是執行乙個程序,其餘程序處於非執行狀態
執行緒 (thread)
乙個程序的任務由多個執行緒合作完成
乙個程序的記憶體空間是共享的,每個執行緒都可以使用這些共享記憶體
乙個執行緒使用某些共享記憶體時,其他執行緒必須等它結束,才能使用這一塊記憶體
某些記憶體區域,只能供給固定數目的執行緒使用
互斥鎖 (mutual exclusion,縮寫 mutex)
訊號量 (semaphore)
mutex是semaphore的一種特殊情況(n=1時)。也就是說,完全可以用後者替代前者。但是,因為mutex較為簡單,且效率高,所以在必須保證資源獨佔的情況下,還是採用這種設計
作業系統的設計
參考阮一峰老師的文章[程序與執行緒的乙個簡單解釋](
程序和執行緒簡單理解
執行緒可以有效地提高系統的執行效率,但並不是在所有計算機系統中都是適用的,如某些很少做程序排程和切換的實時系統。使用執行緒的好處是有多個任務需要處理機處理時,減少處理機的切換時間 而且,執行緒的建立和結束所需要的系統開銷也比程序的建立和結束要小得多。最適用使用執行緒的系統是多處理機系統和網路系統或分...
程序與執行緒的簡單理解
這部分有參考網上的記憶方法,記下來用以複習 一。程序 process 和執行緒 thread 程序 process 和執行緒 thread 是作業系統中的基本概念,但是比較抽象,不容易記憶和理解,接下來就一模擬的的方式來闡述這些概念,以便於簡單易懂。計算機的核心是cpu,它主要工作是計算,時刻在執行...
程序與執行緒的簡單理解
而執行緒是程序的乙個部分,比如我們開啟word這個程序,這個裡面我們可以寫,可以修改,可以插圖,可以複製,對這乙個程式進行的不同操作,我們可以理解為執行緒。最近,我讀到一篇材料,發現有乙個很好的模擬,可以把它們解釋地清晰易懂。1.計算機的核心是cpu,它承擔了所有的計算任務。它就像一座工廠,時刻在執...