什么是關于共享資源的數據結構與一組針對該資源的操作過程所構成的軟件模塊?
管程:是關于共享資源的數據結構,和一組針對該資源的操作過程所構成的軟件模塊。
管程的屬性:
共享性:管程可被系統范圍內的進程互斥訪問,屬于共享資源
安全性:管程的局部變量只能由管程的過程訪問,不允許進程或其它管程直接訪問,管程也不能訪問非局部于它的變量。
互斥性:多個進程對管程的訪問是互斥的。任一時刻,管程中只能有一個活躍進程。
封裝性:管程內的數據結構是私有的,只能在管程內使用,管程內的過程也只能使用管程內的數據結構。進程通過調用管程的過程使用臨界資源。管程在Java中已實現。
管程由以下4部分構成:
1)局部于管程的共享數據結構說明
2)對數據結構進行操作的一組過程(函數)
3)對局部于管程的數據結構初始化的語句
4)管程的名字