我正在尝试检查这个互斥体解决方案的正确性,并且需要检查互斥、活性和公平性是否都得到满足。L1 和 L2 是任意代码行。有2个进程同时运行。下面是进程i的代码,j的代码是对称的。
bool waiting[i] = false;
bool waiting[j] = false;
bool busy = false;
cobegin(process i)
L1: Si(1)
L2: Si(2)
waiting[i] = true;
L3: while (waiting[i] and TST(busy));
L4: [ Critical Section ]
L5: waiting[i] = false;
L6: busy = false;
L7: while(waiting[j];
L8: Go to L2
我得到所有三个属性都满意,但我只需要确保我没有错过任何东西。你能找到不满意的房产吗?