1.以中断启用和中断禁止来实现锁/*闭锁的第一个操作是禁止中断,这是一个硬件原子操作。然后判断value是否等于FREE,如果是,就表明这个资源没有被其他进程占用,我们就将其设置为忙,然后开中断。如果value不等于FREE,那么我们循环等待value变为FREE,循环过程中,不断的开中断和关中断,使得在启用中断和禁止中断之间别的进程能够得以执行。*/void lock(){ cli(); whi
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号