关于这个锁的问题?
来源:7-2 线程同步之互斥量

guoyansi
2020-03-05
1.程序中执行到互斥锁的地方,是不是就等于告诉CPU:现在开始执行下面的指令,不准切换线程和进程,一直执行到锁释放为止?
2.一个单核的CPU执行到互斥锁的地方,如果下面的指令是一个死循环;根据上面第一条的理解:这个锁会一直占据着这个CPU,CPU就无法切换到其它的线程或进程,那么所有的线程或进程是不是都应该进入等待状态,等待这个锁被释放?
如果真是这样子的话,我们写的软件随随便便不就可以把服务器给搞挂了?
老师,我上面的两条理解的对么?
写回答
1回答
-
咚咚呛
2020-03-05
不是的,理解有误。
对于第一点,他并不是说告诉CPU不能切换线程,而是不能让别的线程也进入互斥锁保护的逻辑,互斥锁保护的地方只能有一个线程执行。
所以第二点也理解错误了。
022020-03-06
相似问题