[1]: ISBN 978-0321349606
There was a Java-specific edition: https://www.os-book.com/OS8/os8j/index.html
Maybe that is a good side project.
2) The Art of Multiprocessor Programming by Herlihy, Shavit et al. - https://shop.elsevier.com/books/the-art-of-multiprocessor-pr... The classic must-study book.
Both the above are not language specific but do have examples in Java.
(I actually authored a few of those problems - they cover the classic scenarios like producer-consumer, dining philosophers, etc.)
The cool stuff in concurrency is not having to deal with it imoand recognizing when its not essential. Also I hope you mean concurrency not parallelism. The second one is a bit more manageable.
If not, I suggest reading this blog post: https://prettygoodblog.com/p/what-threads-are-part-2
(disclaimer: I wrote this)
You've reached the end!
scorpioxy•11h ago
A small piece of advice is to make sure you're motivated before diving in. Debugging a race condition, just as an example, can be quite involved and consume a lot of your time and energy to even reproduce.
ykonstant•8h ago
peauc•8h ago