In this lecture, we continue with our discussion of how to implement locks, continuing with an introduction of various atomic read-modify-write primitives such as test-and-set. We finish with an introduction to the monitor paradigm of synchronization.