March 2018
Intermediate to advanced
208 pages
4h 52m
English
Sometimes (most of the time, actually), you just need to make your program multithreaded. For example, you might have to handle multiple users at the same time in a web application. Or maybe you’ve got a desktop or Android application that interacts with the user and the screen in a UI thread and executes compute-intense tasks in background threads.
In those cases, you’ll typically let your threads communicate via shared memory: one thread writes a variable that another one reads, and vice versa. Java has supported such a built-in threading model and synchronization primitives since its inception. That’s been one of its major advantages in comparison to other high-level languages at the time.
These primitives ...