问答题

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




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


试问:
如果把Enter_Critical_Section()函数中的两条语句互换一下位置,结果会如何

【参考答案】

可能会出现死锁,考虑如下的情形:
①初始化时,flag数组的两个元素值均为FALSE;
②线程0先执......

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