進程(process)和線程(thread)是操作系統的基本概念
1.計算機的核心是CPU,它承擔了所有的計算任務
2.單個CPU一次只能運行一個任務
3.進程它代表CPU所能處理的單個任務。任一時刻,CPU總是運行一個進程,其他進程處於非運行狀態
4.一個進程可以包括多個線程。
5.一個進程的內存空間是共享的,每個線程都可以使用這些共享內存。
6.一個線程使用某些共享內存時,其他線程必須等它結束,才能使用這一塊內存。
7.一個防止其他線程使用的簡單方法"互斥鎖"(Mutual exclusion,縮寫 Mutex),防止多個線程同時讀寫某一塊內存區域。
8.某些內存區域,只能供給固定數目的線程使用。
操作系統的設計,因此可以歸結為三點:
(1)以多進程形式,允許多個任務同時運行;
(2)以多線程形式,允許單個任務分成不同的部分運行;
(3)提供協調機制,一方面防止進程之間和線程之間產生沖突,另一方面允許進程之間和線程之間共享資源。