Also for an introduction, consider the chapter(14) on threads in "The Java Programming Language, Fourth Edition" (Arnold et al, 2005.) Once you're familiar with Java concurrency basics, I suggest checking out the definitive guide for Java concurrency: "Java, Concurrency In Practice" (Goetz , 2006.) For a complete reference on Java concurrency, check out "Concurrent Programming in Java, 2nd Ed." (Lea, 2000.) See links to the books on Amazon below:
Java, Concurrency in Practice:
http://www.amazon.com/Java-Concurrency-Practice-Brian-Goetz/dp/0321349601/ref=pd_sim_b_3/104-1540718-5387915 The Java Programming Language, 4th Ed:
http://www.amazon.com/Java-TM-Programming-Language-4th/dp/0321349806/sr=1-1/qid=1168045869/ref=pd_bbs_sr_1/104-1540718-5387915?ie=UTF8&s=books Concurrent Programming in Java 2nd Ed(the 3rd edition is coming out soon I believe):
http://www.amazon.com/Concurrent-Programming-Java-TM-Principles/dp/0201310090/sr=1-2/qid=1168046236/ref=sr_1_2/104-1540718-5387915?ie=UTF8&s=books Note: If you are already familiar with Java basics, consider checking out the classic "Effective Java" (Bloch, 2001.)
Effective Java:
http://www.amazon.com/Effective-Java-Programming-Language-Guide/dp/0201310058/ref=pd_sim_b_2/104-1540718-5387915 I hope the above isn't too inundating