linux驱动开发---并发控制
来源:互联网 发布:java上传图片回显 编辑:程序博客网 时间:2024/05/29 12:07
- 中断屏蔽
local_irq_disable(); /* 临界代码*/ local_irq_enable();
2.原子操作
整形原子操作: void atomic_set(atomix_t *v,int i) //设置原子变量值为i atomic_t v = ATOMIC_INIT(2); //设原子变量v值为2 atomic_read(atomic_t *v); void atomic_add(int i,atomic_t *v) //把原子变量增加i void atomic_sub(int i,atomic_t *v) void atomic_inc(atomic_t *v); //原子变量自增 void atomic_dec(atomic_t *v); //原子变量自减static atomic_t xxx_mic=ATOMIC(2); //定义原子变量static int xx_fun(void){ if(!atomic_dec_and_test(&xxx_mic)){ //测试自减1后是否为0 atomic_inc(&xxx_mic); //还原 return -EBUSY; } /*临界代码*/ return 0;}
3.自旋锁
保证对资源的互斥访问
spinlock_t lock; //定义一个自旋锁 spin_lock_init(lock); //初始化一个自旋锁 spin_lock(lock); //上锁 获得一个自旋锁 //若未获得则一直原地等待 spin_trylock(lock); //获得一个自旋锁 //若未获得者返回false spin_unlock(lock); //开锁 释放自旋锁
0 0
- linux驱动开发---并发控制
- Linux驱动--并发控制
- Linux设备驱动开发详解--笔记7--并发控制
- Linux驱动开发(三)——并发控制
- 《Linux设备驱动开发详解》学习笔记 -- 并发控制
- linux 设备驱动开发学习笔记(一):并发控制
- linux驱动中的并发控制
- LINUX驱动中的并发控制
- Linux设备驱动并发控制
- Linux驱动中的并发控制
- Linux内核驱动并发控制
- Linux设备驱动开发详解-Note(14)--- Linux 设备驱动中的并发控制(1)
- Linux设备驱动开发详解-Note(15)--- Linux 设备驱动中的并发控制(2)
- 设备驱动中的并发控制笔记 --笔记结构基于《linux驱动开发入门与实战》
- 深入浅出Linux设备驱动之并发控制
- Linux设备驱动中的并发控制
- 深入浅出Linux设备驱动之并发控制
- 深入浅出Linux设备驱动之并发控制
- 各类编程开发网址分享
- Java解析XML的四种方法详解
- URL Rewrite的实现
- 数据结构——线性表之顺序存储
- 面试题43:骰子的点数
- linux驱动开发---并发控制
- SQL语句--select
- tar命令
- MFC单文档之基于MSCOMM的多个编辑框的串口通讯
- Struts2中的ModelDriven机制及其运用
- Java DOM解析XML的几个例子
- 黑白图像
- 理解Python的With语句
- 【小游戏】三子棋