操作系统互斥锁的实现往往借助于硬件原语。就比如TestAndSet()
,在单处理器上在同一时间内不会有两个同时调用,但是在多处理器上可能会有两个或的多个线程同时调用,但是只有一个会获得锁。就好像是两个完全一样的人,在同一时间去面试,面试官相同,但是只录取一个人,也就是说两个人的录取结果一定是不同的。这就很让人费解了,到底为什么一个录取了(获得锁),而另一个没有录取(没有获得锁)呢?还是说这个硬件原语即使是在多处理器上,同一时间也只有一个可以被调用?
![](https://profile-avatar.csdnimg.cn/8a6924ec6ea74f6187b14b5a62d103ba_qq_40084198.jpg!4)
操作系统 锁的实现:两个完全一样的人,在同一时间去面试,面试官也相同,它们的面试结果相同吗?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 远控源码 2023-05-16 11:49关注
如果锁只有一把,那么这里并不表示第二个人没有锁,只是先后顺序,第二个人等第一个人用完了再获取.
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用
悬赏问题
- ¥15 黄永刚的晶体塑性子程序中输入的材料参数里的晶体取向参数是什么形式的?
- ¥20 数学建模来解决我这个问题
- ¥15 计算机网络ip分片偏移量计算头部是-20还是-40呀
- ¥15 stc15f2k60s2单片机关于流水灯,时钟,定时器,矩阵键盘等方面的综合问题
- ¥15 YOLOv8已有一个初步的检测模型,想利用这个模型对新的图片进行自动标注,生成labellmg可以识别的数据,再手动修改。如何操作?
- ¥30 NIRfast软件使用指导
- ¥20 matlab仿真问题,求功率谱密度
- ¥15 求micropython modbus-RTU 从机的代码或库?
- ¥15 django5安装失败
- ¥15 Java与Hbase相关问题