若有一個文件F,供進程共享。現(xiàn)把進程分成A、B兩組,規(guī)定同組的進程可以同時讀文件F,但當(dāng)有A組(或B組)的進程在讀文件F時不允許B組(或A組)的進程讀文件F?,F(xiàn)定義兩個計數(shù)器C1和C2分別記錄A組和B組中讀文件F的進程數(shù)。當(dāng)用PV操作進行管理時需要三個信號量S1、S2和SAB才能保證正確的并發(fā)執(zhí)行。程序結(jié)構(gòu)如下:
若有一個文件F,供進程共享?,F(xiàn)把進程分成A、B兩組,規(guī)定同組的進程可以同時讀文件F,但當(dāng)有A組(或B組)的進程在讀文件F時不允許B組(或A組)的進程讀文件F。現(xiàn)定義兩個計數(shù)器C1和C2分別記錄A組和B組中讀文件F的進程數(shù)。當(dāng)用PV操作進行管理時需要三個信號量S1、S2和SAB才能保證正確的并發(fā)執(zhí)行。程序結(jié)構(gòu)如下:
S1是對計數(shù)器C1的互斥信號量,S2是對計數(shù)器C2的互斥信號量,SAB是A、B兩組互斥信號量。