利用一般信号量机制解决读者一写者问题的算法描述如下:varm:integer;/*允许同时读的读进程数L:semaphore:=m;/*控制读进程数信号量,最多mW:semaphore:=1;begincobeginprocessreaderbeginrepeatSP(L,1,1;W,1,0);Readthefile;SV(L,1);untilfalse;endprocesswriterbeginRepeatSP(W,1,1;L,rn,0);Writethefile...
信号量机构是一种功能较强的机制,可用来解决互斥与同步的问题,它只能被两个标准的原语wait(S)和signal(S)来访问,也可以记为“P操作”和“V操作”。 原语是指完成某种功能且不被分割不被中断执行的操作序列,通常可由硬件来实现完成不被分割执行特性的功能。如前述的“Test-and-Set”和“Swap”指令,就是由硬件...
三个吸烟者中,第一个有自己的烟草,第二个有自己的纸和第三个有自己的火柴。供应者随机地将两样东西放在桌子上,允许一个吸烟者进行对健康不利的吸烟。当吸烟者完成吸烟后唤醒供应者,供应者再把两样东西放在桌子上,唤醒另一个吸烟者。试采用:(1)信号量和P、V操作;(2)管程编写他们同步工作的程序。 答案: 手...