JEP 102 Process Updates revised API draft

Peter Levart peter.levart at gmail.com
Tue Mar 10 19:44:37 UTC 2015


On 03/10/2015 06:32 PM, Roger Riggs wrote:
> Can you point me to the alternative Process implementations outside 
> the JDK?
> I've seen a bit of flak about it not being the right API and if its 
> not right
> we should not extend it.
>
> Roger 

This will continue to work, since it's just a wrapper around another 
Process implementation (the JDK provided one):

http://types.cs.washington.edu/plume-lib/api/plume/TimeLimitProcess.html

This one is questionable, because it seems to handle some things of 
ProcessHandle API on it's own:

http://www.phoenix-int.com/~AnalysisServer/user/com/phoenix_int/aserver/util/PHXProcess.html

Theese seem to be it's own implementations, not just a wrappers:

http://axiak.github.io/java_posix_spawn/net/axiak/runtime/SpawnedProcess.html

http://www.google.si/url?sa=t&rct=j&q=&esrc=s&source=web&cd=7&ved=0CEEQFjAG&url=http%3A%2F%2Fhelp.eclipse.org%2Fluna%2Ftopic%2Forg.eclipse.cdt.doc.isv%2Freference%2Fapi%2Forg%2Feclipse%2Fcdt%2Futils%2Fspawner%2FSpawner.html&ei=_ED_VIKBM-bMygP4hIHwDQ&usg=AFQjCNELKMMuCGAWMSKXCyox1xCpvOZSGA&bvm=bv.87611401,d.bGQ



I don't know. Maybe you're right. There doesn't seem to be many 
implementations that would benefit from being extended with new 
functionality. There are a few wrappers of may kinds. If they deal with 
local processes, they will continue to be compatible with new 
functionality by just delegating getPid() to wrapped Process.

This one is interesting:

https://github.com/brettwooldridge/NuProcess

It claims to be using just a "few threads" for handling 500 processes on 
Linux or MacOS X. By reading through the introduction, I can see how it 
is done. It uses non-blocking I/O on the pipes between spawned process 
and JVM. So it can wait in single thread on events happening on multiple 
pipes. When child exits, the pipe gets an event as it reaches EOF. Clever.


Regards, Peter




More information about the core-libs-dev mailing list