Chapter 2 - Recipe #4: Synchronizing a block of code with a Lock