管程是由壹組數據及定義在這組數據之上的對這組數據的操作組成的軟件模塊。
上面這段定義來自王道書,可以看出,管程=軟件模塊。
什麽是軟件模塊?類比地看,相當於java中的抽象類,比如streamreader類等等。這些抽象模塊定義了數據該怎麽用,數據的名字叫什麽,但是沒有把數據直接放進去,因此說管程是語法範圍。妳可以把管程當工具去使用,但是不能創建和撤銷管程。再通俗點講,管程相當於壹個函數。妳傳入參數(給管程設置打印機初值),然後妳就可以使用它提供的功能(read,write操作)。這種調用過程是由進程實現的,但是調用≠創建或撤銷。在java中,妳可以new壹個實例,但總不能new壹個抽象類吧?這是壹個道理