📜  门| GATE-CS-2009 |第33章

📅  最后修改于: 2021-06-30 00:11:53             🧑  作者: Mango

使用测试和设置指令来实现用于实现流程关键部分的enter_CS()和leave_CS()函数,如下所示:

void enter_CS(X)
{
    while test-and-set(X) ;
}
void leave_CS(X)
{
   X = 0;
}

在上述解决方案中,X是与CS关联的内存位置,并且被初始化为0。现在考虑以下语句:
I.上述解决CS问题的方法没有死锁
二。解决方案是无饥饿的。
三,进程按FIFO顺序输入CS。
IV多个进程可以同时进入CS。

上面哪个陈述是正确的?

(A)我只
(B)我和我
(C) II和III
(D)仅IV答案: (A)
说明:上面的解决方案是一个简单的测试设置解决方案,可确保不会发生死锁,但它不使用任何队列来避免饥饿或具有FIFO顺序。
这个问题的测验