當兩個或多個進程相互合作時,必須保留其執行順序,否則可能會在執行過程中產生衝突,並產生不適當的輸出。
協同進程是可以影響其他進程執行的協同進程,也可以受到其他進程執行的影響。 這些進程需要同步,以保證其執行順序。
保持合作進程的適當執行順序涉及的過程稱為進程同步。 有各種同步機制用於同步進程。
競爭條件
當兩個或多個執行緒嘗試讀取,寫入並可能根據他們正在同時存取的記憶體做出決定時,通常會發生競爭狀況。
臨界部分
試圖存取共用資源並可能導致競爭條件的程式區域稱為臨界區。 為避免進程間的競爭狀態,我們需要確保一次只能在關鍵部分執行一個進程。