臨界資源:
? ? ? ? ? ? ? 臨界資源是一次僅允許一個進程使用的共享資源,各進程采取互斥的方式實現共享的資源。
? ? ? ? ? ? ? 屬于臨界資源的硬件有,打印機,磁帶機等;軟件有消息隊列,變量,數組,緩沖區等。諸進程間采取互斥方式,實現對這種資源的共享。
臨界區:
? ? ? ? ? ? ?每個進程中訪問臨界資源的那段代碼稱為臨界區(criticalsection)。每次只允許一個進程進入臨界區,進入后,不允許其他進程進入。不論是硬件臨界資源還是軟件臨界資源,多個進程必須互斥的對它進行訪問。多個進程涉及到同一個臨界資源的的臨界區稱為相關臨界區。
? ? ? ? ? ? ?使用臨界區時,一般不允許其運行時間過長,只要運行在臨界區的線程還沒有離開,其他所有進入此臨界區的線程都會被掛起而進入等待狀態,并在一定程度上影響程序的運行性能,