摘要:
spinlock in linux kernel作为一种锁机制, spinlock可以制造一段临界区, 同一时刻只有一个线程能进入这个临界区, 从而达到保护数据的目的. semaphore, mutext也有同样的作用.spinlock采用busy waiting的实现方式, 无法获取锁时线程一直处于忙等待状态(而不是进入休眠,放弃处理器).使用spinlock的注意事项1. 持有spinlock的上下文不能主动放弃处理器. 包括禁止抢占, 不能休眠. 如果中断中也要获取spinlock, 需要禁止中断.2. 持有spinlock的时间越短越好.3. 锁被持有时, 持有者不允许再次尝试获取该锁 阅读全文