发布时间:2014-02-13 19:53:36
自旋锁(spinlock)是一种常用的互斥同步原语,当试图进入临界区的线程使用忙等待的方式检测锁的状态,若锁未被持有则尝试获取。这种忙等待的做法无谓的消耗了处理器资源,故只适合用于临界区非常小的代码片段,如linux下的中断处理函数。 posix 已经实现了自旋锁.........【阅读全文】
发布时间:2014-02-13 19:52:38
读写旋转锁是旋转锁的变种,与一般自旋锁不同的是,自旋锁一次只能一个线程进入临界区,而读写旋转锁,可以同时存在多个读者,最多一个写者。 下面分析下linux源码中读写旋转锁的实现方式: 点击(此处)折叠或打开.........【阅读全文】
发布时间:2014-02-13 19:48:22
might_sleep, atomic context, dump_stack, preempt_count......【阅读全文】