Deadlock, Livelock, Starvation http://docs.oracle.com/javase/tutorial/essential/concurrency/liveness.html
Immutable objects and thread safety http://docs.oracle.com/javase/tutorial/essential/concurrency/immutable.html
Lock and Condition objects http://docs.oracle.com/javase/tutorial/essential/concurrency/newlocks.html
Math.random() http://docs.oracle.com/javase/tutorial/essential/concurrency/threadlocalrandom.html
Books
- Concurrent Programming in Java: Design Principles and Pattern (2nd Edition) by Doug Lea, the architect of the Java platform's concurrency framework.
- Java Concurrency in Practice by Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, and Doug Lea.
Lars Vogel's threading tutorial http://www.vogella.com/tutorials/JavaConcurrency/article.html#forkjoin