自旋锁适用于短时期的轻量级加锁
自旋锁定义
Linux 内核使用结构体 spinlock_t 表示自旋锁,在使用自旋锁以前,需要先定义一个自旋锁,定义方法如下:
spinlock_t lock; /* 定义自旋锁 */
自旋锁 API
基本的自旋锁 API 如下表:
函数 | 描述 |
---|---|
DEFINE_SPINLOCK(spinlock_t lock) | 定义并初始化一个自旋锁 |
int spin_lock_init(spinlock_t *lock) | 初始化自旋锁 |
void spin_lock(spinlock_t *lock) | 获取指定的自旋锁,也叫做加锁 |
void spin_unlock(spinlock_t *lock) | 释放指定的自旋锁 |
int spin_t |