2016-08-11 06:24
⁄ 工业·编程
⁄ 共 4165字
看了看linux 2.6 kernel的源码,下面结合代码来分析一下在X86体系结构下,互斥锁的实现原理。
1. 首先介绍一下互斥锁所使用的数据结构:
struct mutex {
atomic_t count; // 引用计数器 1: 锁可以利用。 小于等于0:该锁已被获取,需要等待
spinlock_t wait_lock; // 自旋锁类型,保证多cpu下,对等待队列访问是安全的。
struct list_head wait_list; ...
死锁分析, 软件调试阅读全文