背后的逻辑:表达「谦让」
用一个 flag 数组检查他人是否有意愿,并表达自己的意愿
两个进程并发执行的情况下,可能两个进程会同时进入临界区:检查和上锁的操作不是同时执行的,需要硬件保证两个操作同时执行
这种情况下可能产生的问题是:两个进程都进不了临界区,产生饥饿现象
同时主动争取和主动谦让,但是未遵循让权等待原则
用来实现原语,在执行临界区的代码范围内不允许进程切换
缺点:不适合多处理机程序,另外处理器的进程仍然能并行运行;且只有操作系统内核进程才能执行开关中断指令