在调用mutex_lock和mutex_lock_interruptible API之后,将调用者置于可中断/不可中断状态的原因是什么?

时间:2016-02-19 02:45:21

标签: multithreading linux-kernel synchronization mutex critical-section

Linux中的互斥API提供了不同的函数来锁定互斥锁,比如mutex_lock / mutex_lock_interruptible ..将你的线程置于不间断等待的原因是什么?我的意思是一个线程已经在等待..为什么我们不能在此期间执行中断?我想不出可能出现的情况(可能是因为我无知),请稍微说清楚。

1 个答案:

答案 0 :(得分:2)

这不是阻止中断。事实上,没有任何意义,用互斥锁阻塞的全部意义就是下载cpu。

在您等待的条件(此处:锁定)满足之前,不间断睡眠即将被唤醒。