Locks
为了解决在执行一系列指令时中间发生中断事情,引入了lock。
1. Locks: The Basic Idea
使用lock
,关键部分为balance = balance + 1
。
2. Pthread Locks
传递了一个变量来锁定和解锁,因为可能使用不用的锁来保护不同的变量(提高并发性);还可以保护不同的数据和具有不同锁的数据结构,从而允许更多线程进入一次锁定代码。
3. Building A Lock
构造一个Lock,我们需要OS和硬件支持。
4. Evaluating Locks
评估一个锁是否有效,效率好坏的指标:
- mutual exclus