15-213 Introduction to Computer Systems
Lectures 22 and 23: Synchronization