Here is the study plan for that worked for me...
- Locks, Conditions And Fairness
- Understanding the Java Memory Model and its fix by JSR 133
- Happens-Before and volatile.
- LL/SC, CAS concepts
- Atomic package
- Concurrent Data Structures & Synchronizers
- Executors,Futures and other threading concepts.
- Articles by Brian Goetz, Doug Lea
- Java concurrency Interest group.
Two useful books:
- Concurrent Programming In Java by Doug Lea.
- Java Concurrency in Practice By Brian Goetz