标签: linux-kernel linux-device-driver kernel
让我们说linux中的任务A正在等待锁定,并且在那个时间指定的锁定由另一个任务B保持。因此任务A将处于等待队列中。现在一旦任务B完成,然后释放锁。现在我的疑问是任务A如何知道锁可用以及它是如何唤醒的?
答案 0 :(得分:0)
答案是...... kernel 。
锁定和解锁由专用内核功能完成。当调用unlock时,内核会检查是否有人等待锁定,如果有,则会获得锁定并被内核唤醒。