内核同步方法-原子操作

本文详细介绍了Linux内核中的原子操作,包括原子整数操作和原子位操作。原子整数操作通过`atomic_t`数据类型实现,常用于计数器,提供了如`atomic_set`、`atomic_add`等内联函数。原子位操作则直接作用于内存地址,通过``头文件提供的函数如`set_bit`、`clear_bit`等完成。这些操作在多线程环境下确保了操作的不可中断性,避免了锁的使用。
摘要由CSDN通过智能技术生成

原子操作概念:

      可以保证指令以原子的方式执行---执行的过程不被打断,内核共提供了两组原子操作接口分别是

      1、一组针对整数进行操作

      2、一组针对单独的位进行操作

    下面详述之

     一、原子整数操作

     数据类型:atomic_t 这里之所以引入新的数据类型的原因有2,第一个,让原子整数操作函数只接受atomic_t的数据类型,可以确保该数据类型不会误传给其他非原子整数操作函数,第二个,防止被编辑器优化。

    头文件: <asm/atomic.h>

    范例:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值