我是网络开发人员,经常遇到我自己可以回答这个问题的情况。
我准备考试并了解锁定变量,用作操作系统
中同步机制的解决方案这是给出的代码 -
//0 - free
//1 - occupied
//ENTRY SECTION
initialize lock = 0;
while(lock != 0); //infinite loop to stop another process from entering critical section
lock = 1;
----
----
----
//EXIT SECTION
lock = 0;
我的问题是,为什么它不是while(lock == 1)
而不是while(lock != 0)
?我已尝试手动解决问题,但在使用while(lock == 1)
时未发现任何错误
有人可以举例说明使用while(lock == 1)
会失败吗?