This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Most of the (online avialable) 'educational" material jump DEEP right into the matter, without covering the simple thread basics first with crystal clear examples + graphics ! Most (not all) authors assume that you already have knowledge about threads. This assumption from the writers side makes it hard (for me) to grasp the concept of thread from the group up :-(
What am i looking for? The educational material i am looking for is CRYSTAL CLEAR on the basics of Threads like:
- What is a Thread( the complete object)? / What is a Runnable(interface)?
- When do I use a Thread, when do I use a Runnable interface? and why?
- When to use Threads (and when not)?
- COMPLETE code examples (and not fragments only) on
-- how to create, kill a thread
-- how to start, pause/sleep, stop terminate a thread
-- how one thread can exchange data with another thread
So...the very but al so essential thread basics...
Question to you all Which resources (websites, books, course, tutorials) have you use to learn Java Multi threading / Concurrency??
Thanks for sharing your hints, tips and tricks
Java Concurrency in Practice is great. However it's a short, focused book that assumes you've already got a good grasp of thread essentials, and takes you further through the things that not many people understand well. In contrast, another excellent book is Java Threads by Scott Oaks and Henry Wong. I don't know this Scott Oaks guy, but I know Henry really knows his stuff. This book is bigger, and wider in scope. It includes much better introductory material if you don't already have a good grasp of the essentials. And I believe it has more code examples along the way. I don't really know how much detail it gets into on the really advanced stuff - I haven't read all of it. Nowadays Java Concurrency in Practice seems to get most of the attention, and I suspect it may be better for really advanced stuff. But from the original post in this thread, I suspect Java Threads may be a better fit.
I believe if you try to solve some actual problem involving threads, and thread communication you will learn more and lasting knowledge.
For a good quick thorough overview of threads I find the chapter on Threads in SCJP book by Kathy Sierra to be good.