Lecture 16: implementing locks

We discuss a range of different lock implementations, as well as their relative advantages and disadvantages.