臨界區段

在同步的程式設計中 ， 臨界區段  或稱爲關鍵區段 ， 指的是一個存取共用資源 （ 例如 ： 共用裝置或是共用記憶體 ） 的程式片段 ， 而這些共用資源又無法同時被多個執行緒存取的特性 。 當有執行緒進入臨界區段時 ， 其他執行緒或是行程必須等待 （ 例如 ： bounded waiting 等待法 ） ， 有一些同步的機制必須在臨界區段的進入點與離開點實現 ， 以確保這些共用資源是被互斥或的使用 ， 例如 ： semaphore 。 只能被單一執行緒存取的裝置 ， 例如 ： 印表機 。 一個最簡單的實現方法就是當執行緒 （ Thread ） 進入臨界區段時 ， 禁止改變處理器 ； 在Single - Processor系統上 ， 可以用 「 禁止中斷 （ CLI ） 」 來完成 ， 避免發生系統調用 （ System Call ） 導致的上下文交換 （ Context switching ） ； 當離開臨界區段時 ， 處理器回覆原先的狀態 。