对于互斥锁和自旋锁的理解

来源:7-3 线程同步之自旋锁

qq_爱Zz真是太好了_0

2021-03-10

老师您好
1.对于互斥锁,B线程发现A线程上锁了临界资源就让出CPU,知道资源解锁了就回来。对于自旋锁,B线程发现A线程上锁了就直接在原地等待,让CPU空转,这个时候我的理解是B线程占用了全部的CPU,那此时正在使用资源的A线程是在用另外一个CPU运行么?
2. 互斥锁和自旋锁的是如何实现上锁的呢老师?我之前对自旋锁的理解是它自己在不断循环检查是否解锁了所以让其他线程无法获得CPU资源就无法执行,现在觉得这么理解有偏差,互斥锁就没法解释了,所以他们具体的实现思路是什么嘞?
3. 还有一个奇怪的小问题老师,我在问答区看到您回答完的问题再很久之后您还会补充回复进行一个补充或者更正,您是通过什么样的方式记录下这些问题和寻找它答案的思路的呢?我有的时候也会有疑惑,搜索完答案记录在笔记上之后,过一阵子我就忘记我曾经对这里有问题了,搜索到的问题的答案印象也模糊了。。。

写回答

1回答

咚咚呛

2021-03-11

  1. 是的。

  2. 这个问题非常好,锁是怎么实现的?简单来说就是底层硬件提供的机制,同学可以通过搜索了解更详细的内容。

  3. 主要是理解得比较深刻,可以多学习解决问题的方法论,然后锻炼将方法论沉淀成习惯。

希望对你有所帮助。

0
0

(新版)计算机基础,计算机组成原理+操作系统+网络

编程之前先学这门课,系统补足计算机基础知识,夯实编程地基

7739 学习 · 1580 问题

查看课程