Producer-Consumer Problem with Locks and Synchronization | CodeSignal Learn