问答题

假设有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,我们必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码:




当一个线程想要访问临界资源时,就调用上述的这两个函数。例如,线程0的代码可能是这样的:


试问:
以上的这种机制能够实现资源互斥访问吗为什么

【参考答案】

这种机制不能实现资源的互斥访问,考虑如下的情形:
①初始化时,flag数组的两个元素值均为FALSE;
......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)