linux内核自旋锁API
生活随笔
收集整理的這篇文章主要介紹了
linux内核自旋锁API
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我們大概都了解,鎖這種機制其實是為了保護臨界區代碼的,關于使用和定義,我總結的API如下:
#include <linux/spinlock.h>定義自旋鎖 spinlock_t lock;初始化自旋鎖 void spin_lock_init(spinlock_t *lock);獲取自旋鎖 void spin_lock(spinlock_t *lock); int spin_trylock(spinlock_t *lock); 返回非0成功獲取鎖不可搶占內核: 兩個函數都是空操作 單CPU可搶占: 兩個函數都是禁止當前進程被搶占 多CPU: spin_lock: 禁止搶占, 獲取鎖, 如果不能獲取鎖將一直循環spin_trylock: 禁止搶占, 獲取鎖, 如果不能獲取鎖馬上返回釋放自旋鎖 void spin_unlock(spinlock_t *lock);void spin_lock_irq(spinlock_t *lock); void spin_lock_irqsave(spinlock_t *lock, unsigned long flags); void spin_lock_bh(spinlock_t *lock);void spin_unlock_irq(spinlock_t *lock); void spin_unlock_irqrestore(spinlock_t *lock, unsigned long flags); void spin_unlock_bh(spinlock_t *lock);
總結
以上是生活随笔為你收集整理的linux内核自旋锁API的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单指手势,旋转,缩放
- 下一篇: Linux初学 - SSH