I recently started learning java and now want to know how a concurrent/multithread program is written in Java. I'm aware how these concepts work in Python, but in Java things look different and currently have issues for learning this concepts due to recent changes.
I'd like to follow
This guide by Oracle though it's mentioning "Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available."
Considering recent changes like adding Flow APIs in JDK9 or virtual threads in JDK21 I assume best practices are changed also some methods got deprecated since JDK8(?), therefor i have a hard time getting started with concurrency in Java.
I don't have a specific use case right now and just want to start grasping these concepts, though I like to focus on more used methods. So is the oracle tutorial still good enough as a kick-start? Or may I start from newer concepts added? How to determine best practices? Do you suggest any specific book/course/document to follow?
In general any advice would help a lot, thank you.