操作系统互斥锁的实现往往借助于硬件原语。就比如TestAndSet()
,在单处理器上在同一时间内不会有两个同时调用,但是在多处理器上可能会有两个或的多个线程同时调用,但是只有一个会获得锁。就好像是两个完全一样的人,在同一时间去面试,面试官相同,但是只录取一个人,也就是说两个人的录取结果一定是不同的。这就很让人费解了,到底为什么一个录取了(获得锁),而另一个没有录取(没有获得锁)呢?还是说这个硬件原语即使是在多处理器上,同一时间也只有一个可以被调用?
![](https://profile-avatar.csdnimg.cn/8a6924ec6ea74f6187b14b5a62d103ba_qq_40084198.jpg!4)
操作系统 锁的实现:两个完全一样的人,在同一时间去面试,面试官也相同,它们的面试结果相同吗?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 远控源码 2023-05-16 11:49关注
如果锁只有一把,那么这里并不表示第二个人没有锁,只是先后顺序,第二个人等第一个人用完了再获取.
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用
悬赏问题
- ¥20 有偿,学生成绩信息管理系统
- ¥15 Arduino电机和openmv连接异常
- ¥15 Arcgis河网分级报错
- ¥200 java+appium2.1+idea
- ¥20 请帮我做一个EXE的去重TXT文本
- ¥15 工价表引用工艺路线,应如何制作py和xml文件
- ¥15 根据历史数据,推荐问题类型
- ¥15 需要仿真图,简单的二阶系统实例
- ¥15 stm32光控照明仿真
- ¥15 使用人工智能的方法生成满足一定统计参数要求的随机数序列