Creating and handling processes
So far, we focused on concurrency within a Scala program running in a single JVM process. Whenever we wanted to allow multiple computations to proceed concurrently, we created new threads or sent Runnable objects to Executor threads. Another venue to concurrency is to create separate processes. As explained in Chapter 2, Concurrency on the JVM and the Java Memory Model, separate processes have separate memory spaces and cannot share the memory directly.
There are several reasons why we occasionally want to do this. First, while JVM has a very rich ecosystem with thousands of software libraries for all kinds of tasks, sometimes, the only available implementation of a certain software component is a command-line utility ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access