臨界區

臨界區

定義

訪問臨界資源的代碼區被成爲臨界區,每次進容許一個執行塊進入臨界區。好比一個線程進入了臨界區而後由於系統調度而被打斷,但此時他仍是在臨界區中的,因此此時其餘執行線程仍是不被容許進入臨界區---即執行訪問共享資源的代碼線程


分類


數據臨界

特定的共享數據區在一次訪問過程當中,不容許其餘的不受控制訪問發生的。好比修改一個共享數據的時候此時不能容許其餘的代碼來同時訪問(讀和寫有時候不必定都不被容許,和具體的業務需求相關)。又好比對一個文件的寫入過程不能被其餘寫入操做穿插執行,此時就會出現了實際寫入的內容和指望不符合。此時的共享數據就是臨界資源資源


代碼臨界

特定的臨界代碼不容許被打斷,好比不支持中斷搶佔硬件平臺下的硬件中斷服務程序的執行過程,這種狀況很少見但也是臨界區的一種。還有一種狀況就是在一些操做硬件的過程當中有時候會須要符合硬件規定的操做序列進行必定的處理且中間不容許有其餘的操做穿插,此時這個過程就是臨界的由於若是中間產生了中斷或系統調度致使操做序列中間被插入其餘的操做就會致使硬件判斷操做序列非法進而沒法正常使硬件正常初始化。硬件

相關文章
相關標籤/搜索