对锁实现的一些总结
1,实现锁的几种方式
①:以中断启用与禁用来实现锁
②:以测试与设置指令来实现锁
③:以非繁忙等待、中断启用与禁止来实现锁
实现思路:
1):使用中断禁止,但不进行繁忙等待;
2):如果拿不到锁,等待进程放弃CPU并进入睡眠状态,以便持有锁的进程可以更好的运转;
3):当锁释放的时候,将睡眠进程叫醒。
④:以最少繁忙等待、测试与设置来实现锁
问题:
1,能否用加载和存入原子指令实现锁?
2,本节讨论的锁的实现机制能否应用到多计算机环境?
1,实现锁的几种方式
①:以中断启用与禁用来实现锁
②:以测试与设置指令来实现锁
③:以非繁忙等待、中断启用与禁止来实现锁
实现思路:
1):使用中断禁止,但不进行繁忙等待;
2):如果拿不到锁,等待进程放弃CPU并进入睡眠状态,以便持有锁的进程可以更好的运转;
3):当锁释放的时候,将睡眠进程叫醒。
④:以最少繁忙等待、测试与设置来实现锁
问题:
1,能否用加载和存入原子指令实现锁?
2,本节讨论的锁的实现机制能否应用到多计算机环境?