2014年(124)
发布时间:2014-08-06 14:12:32
一 原子操作 所谓原子操作,就是该操作绝不会在执行完毕前被任何其他任务或者事件打断,也就所说,它是最小的执行单元,不可能有更小的执行单元,因此这里的原子实际是使用了物理学里面道物质微粒的概念。 原子操作需要硬件的支持,因此是架构相关.........【阅读全文】
发布时间:2014-08-06 14:12:27
自旋锁(spinlock)是一种常用的互斥同步原语,当试图进入临界区的线程使用忙等待的方式检测锁的状态,若锁未被持有则尝试获取。这种忙等待的做法无谓的消耗了处理器资源,故只适合用于临界区非常小的代码片段,如linux下的中断处理函数。 posix 已经实现了自旋锁.........【阅读全文】
发布时间:2014-08-06 14:12:19
读写旋转锁是旋转锁的变种,与一般自旋锁不同的是,自旋锁一次只能一个线程进入临界区,而读写旋转锁,可以同时存在多个读者,最多一个写者。 下面分析下linux源码中读写旋转锁的实现方式: 点击(此处)折叠或打开.........【阅读全文】