This is request to the highly experienced to guide me in learning the very nuances of multithreading. I know a few books, but I am not sure, I do not want to jump from one to another. Please tell me a resource to learn multithreading concepts through and through like locks, synchronization, how threads take locks, the limitations and advantages. I want to build a very strong foundation.
Apart from basic academic knowldege, I have none. I have read Kathy and Bert's SCJP 6 guide. But I seem to have just crammed a few things. I know the basics of a Thread, but I at this knowledge level, I can not picturise Threads in my brain like locking, synchronization of objects etc. I want to learn in such a manner that I can see a code or imagine a situation easily. And I am ready to put my efforts. I want some guidance. Kathy's books or some online tutorials just seem to be running over the nuances, and dealing with only API with an examination attitude and not development perspective.
At this moment, I want to learn the foundations and then gradually move on to concurrency APIs.
Not yet, but do you think it will explain the locks, synchronization etc crystal clear? I have seen some reviews - the positive ones say the overall things in book is good, the negative ones point out the same thing that I want - crystal clear explanation of the concepts in easy manner so that even a novice can understand. I want something nice to get started and I don't want to just start reading book1 book2 .... Whats your opinion?
If you're looking for information about synchronization which can easily be understood by novices, you should reduce your expectations a bit. Synchronization is hard even for advanced programmers, so don't expect an easy ride.