什么时候不能使用信号量

      信号量有一种情况是不能使用的,例如需要保护的临界资源有可能被中断程序访问的情况。试想一下这种情况,假如在中断程序中访问一个被信号量保护的资源,如果该资源已经被占用,那么该中断程序就会陷入睡眠,而中断是不能睡眠的。这时候只能使用下面的自旋锁函数对:

  void spin_lock_irq(spinlock_t *lock);

  void spin_unlock_irq(spinlock_t *lock);

posted @ 2013-06-21 11:30  一维  阅读(480)  评论(0编辑  收藏  举报