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