码迷,mamicode.com
首页 > 系统相关 > 详细

linux内核同步机制(1)------自旋锁

时间:2021-06-13 10:55:26      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:简介   保护   数据结构   lin   适用于   初始化   code   系统   函数   

一、简介与使用

  自旋锁适用于用于保护短的代码段,通过spinlock_t数据结构实现,常用接口如下:

  1) spin_lock 和 spin_unlock
2) spin_lock_irqsave 和 spin_unlock_restore: 获取锁的同时还会关中断
3)spin_lock_bh/ spin_unlock_bh : 关软中断
4) spin_trylock 和 spin_trylock_bh 尝试获取锁,但不会阻塞
通常自旋锁使用 SPIN_LOCK_UNLOCKED进行初始化。
二、注意事项
1) 自旋锁保护的临界区不宜过长(比如加入打印日志代码)或者调用会睡眠的函数
2) 单CPU系统中,由于会有内核抢占的出现,spin_lock等价于preempt_disable

linux内核同步机制(1)------自旋锁

标签:简介   保护   数据结构   lin   适用于   初始化   code   系统   函数   

原文地址:https://www.cnblogs.com/topk/p/14879290.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!