为什么在中断处理程序中使用自旋锁

mou*_*sey 9 c operating-system linux-kernel

我想知道为什么在中断处理程序中使用自旋锁而不是信号量.

Mic*_*kis 13

信号量导致任务在争用时休眠,这对于中断处理程序是不可接受的.基本上,对于这样一个短而快的任务(中断处理),信号量执行的工作是过度的.此外,自旋锁不能由多个任务保持.

  • @mousey:如果某个人访问与中断处理程序相同的共享数据,则会与中断处理程序共享自旋锁.互斥锁无法禁用中断,因为如果禁用中断和睡眠,您将永远不会醒来! (4认同)