关闭

读LDD3的关键字笔记

503人阅读 评论(0) 收藏 举报
2006年6月11日

用于替代信号量和自选锁的一些方法:

1. 免锁的算法:循环缓冲区。 这个东西在网络适配器中普遍使用。在2.6.10内核中有一个通用实现<linux/kfifo.h>。
2. 原子变量:是一个整数变量,类型名称:atomic_t, 在<asm/atomic.h>中。对这个变量的操作是原子的。有累加、读取、减去、测试等函数。
3. 位操作:对某个数的位操作是原子的,<asm/bitops.h>。有设置某位、清除某位、测试某位等函数操作。
4. seqlock:在<linux/seqlock.h>中定义。当要保护的资源很小、很简单、被频繁访问、很少写入且很快速的时候,可以用这个。
5. 读取-复制-更新(RCU):一种高级的互斥机制。<linux/rcupdate.h>。典型的应用是网络路由表。



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:104768次
    • 积分:1686
    • 等级:
    • 排名:千里之外
    • 原创:53篇
    • 转载:45篇
    • 译文:0篇
    • 评论:8条
    文章分类
    最新评论