问答题
简答题
判断下面的同步问题的算法是否正确?若有错,请指出错误原因并予以改正。
设A、B两进程共用一个缓冲区Q,A向Q写入信息,B则从Q读出信息,算法框图如图所示。
【参考答案】
这个算法不对。
因为A、B两进程共用一个缓冲区Q,如果A先运行,且信息数量足够多,那么缓冲区Q中的信息就会发生后面的冲掉前面的,造成信息丢失,B就不能从Q中读出完整的信息。
进行改正:
A.B两进程要同步使用缓冲区Q。为此,设立两个信号量:
Empty表示缓冲......
(↓↓↓ 点击‘点击查看答案’看完整答案 ↓↓↓)