linux原子操作
来源:互联网 发布:mac修改虚拟机空间 编辑:程序博客网 时间:2024/05/16 08:52
原子操作指的是在执行过程中不会被别的代码路径所中断的操作,下面列出原子操作相关的函数
1.void atomic_set(atomic_t *v,int i); //设置原子变量的值为i
2.atomic_t v = ATOMIC_INIT(0); //定义原子变量V并初始化为0
3.atomic_read(atomic_t *v); //返回原子变量的值
4.void atomic_add(int i,atomic_t *v); //原子变量增加i
5.void atomic_sub(int i,atomic_t *v); //原子变量减少i
6.void atomic_inc(atomic_t *v); //原子变量增加1
7.void atomic_idec(atomic_t *v); //原子变量减少1
8.int atomic_inc_and_test(atomic_t *v); //原子变量执行自增后测试其是否为0,0则返回true
9.int atomic_dec_and_test(atomic_t *v); //原子变量执行自减后测试其是否为0,0则返回true
10.int atomic_sub_and_test(int i,atomic_t *v); //原子变量执行减i后测试其是否为0,0则返回true
11.int atomic_add_return(int i,atomic_t *v); //原子变量执行加i,并返回新值
12.int atomic_sub_return(int i,atomic_t *v); //原子变量执行减i,并返回新值
13.int atomic_inc_return(atomic_t *v); //原子变量执行自增,并返回新值
14.int atomic_dec_return(atomic_t *v); //原子变量执行自减,并返回新值
15.void set_bit(nr,void *addr); //设置addr地址的第nr位(写1)
16.void clear_bit(nr,void *addr); //清除addr地址的第nr位(写0)
17.void change_bit(nr,void *addr); //对addr地址的第nr位进行反置
18.test_bit(nr,void *addr); //返回addr地址的第nr位
19.int test_and_set_bit(nr,void *addr); //18+15
20.int test_and_clear_bit(nr,void *addr); //18+16
21.int test_and_change_bit(nr,void *addr); //18+17
- Linux 原子操作
- Linux原子操作
- linux 原子操作
- linux 原子操作
- linux原子操作
- Linux 原子操作
- Linux 原子操作
- Linux 原子操作
- linux 原子操作
- linux中的原子操作
- 【转】Linux 原子操作
- Linux 原子操作
- linux gcc原子操作
- Linux 原子操作
- linux原子操作
- Linux Driver原子操作
- linux原子操作
- Linux 原子操作
- Android 开发之旅:view的几种布局方式及实践
- [Linux驱动开发] mini2440开发板u-bbot移植总结
- Flex tree增加,删除,查询并定位节点
- C语言运算符优先级
- HTTP状态码
- linux原子操作
- 怎么将一个double类型的数四舍五入保留两位小数
- Android中加载数据库到data/data下的当前包中
- UITableView 详细讲解
- 祈祷
- Windows下VMWare虚拟机串口设置
- typedef用法小结
- Flex DataGrid中的DataGridColumn实现Tooltip/Datatip(flex3)
- mount命令的使用