Java Threads synchronization, deadlocks and volatile variables | Hacker News Reader