回覆列表
  • 1 # yfxvhgf

    1、臨界區指的是一個訪問共用資源(例如:共用裝置或是共用儲存器)的程式片段,而這些共用資源又無法同時被多個執行緒訪問的特性。當有執行緒進入臨界區段時,其他執行緒或是程序必須等待,有一些同步的機制必須在臨界區段的進入點與離開點實現,以確保這些共用資源是被互斥獲得使用。只能被單一執行緒訪問的裝置,例如:印表機。

    2、臨界資源:多道程式系統中存在許多程序,它們共享各種資源,然而有很多資源一次只能供一個程序使用。一次僅允許一個程序使用的資源稱為臨界資源。許多物理裝置都屬於臨界資源,如輸入機、印表機、磁帶機等。

    3、程序進入臨界區的排程原則是:(1)如果有若干程序要求進入空閒的臨界區,一次僅允許一個程序進入。(2)進入臨界區的程序要在有限時間內退出,以便其它程序能及時進入自己的臨界區。(3)任何時候,處於臨界區內的程序不可多於一個。(4)如果程序不能進入自己的臨界區,則應讓出CPU,避免程序出現“忙等”現象。擴充套件資料1、臨界區存在的問題臨界區的退出,不會檢測是否是已經進入的執行緒,也就是說,可以在A執行緒中呼叫進入臨界區函式,在B執行緒呼叫退出臨界區的函式,同樣是成功。臨界區內的資料一次只能同時被一個程序使用,當一個程序使用臨界區內的資料時,其他需要使用臨界區資料的程序進入等待狀態。2、各程序採取互斥的方式,實現共享的資源稱作臨界資源。屬於臨界資源的硬體有印表機、磁帶機等,軟體有訊息緩衝佇列、變數、陣列、緩衝區等。 諸程序間應採取互斥方式,實現對這種資源的共享。

  • 中秋節和大豐收的關聯?
  • 狗狗的肚子一直在咕嚕咕嚕叫是怎麼回事?