Java has java.util.concurrent
for multithreading. Why is there no parallelism libraries (which use process instead of thread) in Java Standard Libraries?
There are some reasons I can think of, which are specific to Java:
Creating seperate processes which run java code requires a JVM in that process, so there is lot of overhead.
Process management and inter-process communication might vary across platforms and might be going against platform independence.
According to this IPC is done using Internet Protocol's (IP) loopback network. This is understandable as using network calls is platform independent, but it is another overhead.
What could be the reasoning for this decision?
PS: This question is not about whether its better than multithreading. It is not in most cases (except when you need isolation). If it is "opinion-based", I'm asking what is/could be the reason behind that decision.
Edit 2: From the discussion in the comments, the reason for not having a built-in lib has less to do with pros and cons, principles of Java, or implementational complexity. It's just that they have decided not to include it in their scope, and we can't guess it.