我将互斥和死锁分别定义如下: 如果在每一刻,每个共享资源要么被分配给一个进程,要么可用,则互斥条件存在。如果一组进程中的每个进程都在等待只有该组中的另一个进程可以引发的事件,则该组进程会死锁。
比如说,使用二进制信号量,确保它们中只有一个可以同时进入其临界区。由于每个进程在进入其关键区域之前执行一次向下操作,并在离开它之后执行一次向上操作,因此可以保证互斥。
我知道有四个条件必须全部满足才能发生死锁,其中之一是互斥条件(没有两个进程可能同时在它们的关键部分内)。
既然保证了互斥,那么在这种情况下,程序是否没有死锁?
问候。