This could have catastrophic results: The 'network' thread is no longer guaranteed to set 'someData' before the reader thread is resumed (because 100ms have already passed).In short, writing aanywhere is often a code smell , especially if it's being used as some sort of multithreading synchronization mechanism.