制約關係的型別:根據共享資源性質的不同,可分為:
同步:指兩個或兩個以上的程序由於某種時序上的限制而形成的相互合作的制約關係。(直接制約關係)
互斥:指兩個或兩個以上的程序由於競爭資源而形成的制約關係。(間接制約關係)
下列活動分別屬於哪種制約關係?
同步(直接制約)
互斥(間接制約)
程序————程序
程序————資源————程序
時間次序上受到某種限制
競爭到某一物理資源時不允許其他程序再訪問
相互清楚對方的存在及作用,交換資訊
不一定清楚其他程序情況
往往指有幾個程序共同完成乙個任務
往往指多個任務多個程序間通訊制約
生產者————消費者
交通十字路口、單軌火車的拔道岔
程序同步的基本概念 臨界資源 同步和互斥
在多道程式環境下,程序是併發執行的,不同程序之間存在著不同的相互制約關係。為了協調程序之間的相互制約關係,引入了程序同步的概念。雖然多個程序可以共享系統中的各種資源,但其中許多資源一次只能為乙個程序所使用,我們把一次僅允許乙個程序使用的資源稱為臨界資源。許多物理裝置都屬於臨界資源,如印表機等。此外,...
程序同步與互斥
程序同步與互斥 首先,我們看乙個例子 程序p1 p2公用乙個變數count,初始值為0 p1 p2兩個程序的執行順序是隨機的,p1 p2可能順序執行或交錯執行。由圖可見,不同的執行順序,count值會不同,這是不允許的。在多道程式系統中,由於資源共享或程序合作,使程序間形成間接相互制約和直接相互制約...
程序同步 互斥量
程序間也可以使用互斥鎖,來達到同步的目的。但應在pthread mutex init初始化之前,修改其屬性為程序間共享。mutex的屬性修改函式主要有以下幾個。pthread mutexattr tmattr 型別 用於定義mutex鎖的 屬性 int pthread mutexattr init ...