问题 单项选择题

请分析下列代码( )。


采用该算法来实现临界区的访问,其结果是( )。

A.该算法可以实现进程临界区的访问
B.该算法不能实现进程临界区的访问
C.该算法可以实现进程临界区的访问,但是可能会死锁
D.该算法可以实现进程临界区的访问,但是可能会饥饿

答案

参考答案:C

解析: 本题考查软件法实现进程互斥同步的机制。经过分析代码,我们知道该算法属于软件先标志后检查法。该算法的基本思想是在每一个进程进入临界区之前,先设置进程自己进入的标志,再查看临界区的其它标志是否被设置,若存在设置,则该进程需等待;否则,进程进入自己的临界区。为此,设置了一个数组flag[n],如第i个元素值为false,表示Pi进程未进入临界区;值为true,表示Pi进程进入临界区。采用先设置自己标志后,再检测对方状态标志。可能会出现两个进程先后同时设置后再分别检测对方状态标志,造成双方都不能进入临界区,出现死锁现象而无限期等待。因此正确答案应为C。

单项选择题
单项选择题