"Using Thread.Sleep to Badly Fix a Race Condition"

private static SomeDataType someData;

private static void Example() {
	someData = null;
	GetDataOnNetworkThread(); // tell the network thread to write to someData
	
	Thread.Sleep(100); // make sure we don't beat the network thread
	
	ProcessData(someData); // use the data that the network thread wrote
}


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