References
General
- Gregory V. Wilson: Practical Parallel Programming, Cambridge, MA: MIT Press 1995.
Still a good introduction, but not strong on current languages.
- Robert Robey and Yuliana Zamora: Parallel and High Performance Computing, Shelter Island: Manning 2021.
Focuses on MPI and OpenMP, good background, new edition, also available at https://livebook.manning.com/book/parallel-and-high-performance-computing.
Java
- Aleksandar Prokopec: Learning Concurrent Programming in Scala, Birmingham: Packt 2014.
Good overview of concurrency in Scala, also gives an overview of Java.
"Official" Java tutorials, very good introduction and overview of the Java language.
Nice tutorial, also good as an overview.
C++
Two good general C++ tutorials, good for looking up things.
Scala
The Prokopec book is good. The official tutorial is the the authoritative source. The Alvin Alexander pages are very well explained, but badly organized. See the "Related" section at the end for further concurrency parts.