"Corrected Monitor.Wait Usage"

private static void ConsumerWaitForProducer(object writerLock) {
	lock (writerLock) {
		while (!dataReadyForProcessing) {
			Monitor.Wait(writerLock);
		}
	}
}


Code snippet taken from "Common Multithreading Mistakes in C# - IV: Everything Else".