linux内核自旋锁API
生活随笔
收集整理的這篇文章主要介紹了
linux内核自旋锁API
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
我們大概都了解,鎖這種機(jī)制其實(shí)是為了保護(hù)臨界區(qū)代碼的,關(guān)于使用和定義,我總結(jié)的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成功獲取鎖不可搶占內(nèi)核: 兩個(gè)函數(shù)都是空操作 單CPU可搶占: 兩個(gè)函數(shù)都是禁止當(dāng)前進(jìn)程被搶占 多CPU: spin_lock: 禁止搶占, 獲取鎖, 如果不能獲取鎖將一直循環(huán)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);
總結(jié)
以上是生活随笔為你收集整理的linux内核自旋锁API的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 单指手势,旋转,缩放
- 下一篇: Android自定义属性