|
|
1
0
我仔细研究了算法后才想到这个。 假设进程Y使用了关键部分。因此,它必须将VarQ变量设置为false。 现在,如果进程X尝试进入关键部分。除非进程Y也尝试进入,否则它永远无法进入。原因是条件while(varQ==true)将保持为false,除非进程Y尝试进入关键节,并在这样做时将varQ设置为true,而在离开关键部分(CS)之前,varQ已设置为false。 因此,如我们所见,如果流程Y不尝试进入CS,流程X将被无限期阻止,关键部分也将闲置。 但问题仍然是,缺乏饥饿自由是如何导致缺乏死锁自由的。在死锁中,每个进程都被阻止,但如果进程Y确实再次尝试进入CS,则进程X可能成功地尝试进入CS。 |
|
Al John · 防止两个属性相互依赖的死锁 1 年前 |
|
|
Yaur · 锁定未处理的异常处理程序是否安全? 13 年前 |
|
|
Phil Harvey · 检测潜在死锁的Java byecode操作 13 年前 |
|
|
jedatu · 在负载下刷新汇总表的最佳方法是什么? 17 年前 |