< prev index next >

src/java.base/share/classes/java/lang/ProcessHandleImpl.java

Print this page




  25 package java.lang;
  26 
  27 import java.security.PrivilegedAction;
  28 import java.time.Duration;
  29 import java.time.Instant;
  30 import java.util.Arrays;
  31 import java.util.Optional;
  32 import java.util.concurrent.CompletableFuture;
  33 import java.util.concurrent.ConcurrentHashMap;
  34 import java.util.concurrent.ConcurrentMap;
  35 import java.util.concurrent.Executor;
  36 import java.util.concurrent.Executors;
  37 import java.util.concurrent.ForkJoinPool;
  38 import java.util.concurrent.SynchronousQueue;
  39 import java.util.concurrent.ThreadFactory;
  40 import java.util.concurrent.ThreadPoolExecutor;
  41 import java.util.concurrent.TimeUnit;
  42 import java.util.stream.IntStream;
  43 import java.util.stream.Stream;
  44 
  45 import sun.misc.InnocuousThread;
  46 
  47 import static java.security.AccessController.doPrivileged;
  48 
  49 /**
  50  * ProcessHandleImpl is the implementation of ProcessHandle.
  51  *
  52  * @see Process
  53  * @since 9
  54  */
  55 final class ProcessHandleImpl implements ProcessHandle {
  56     /**
  57      * Cache the ProcessHandle of this process.
  58      */
  59     private static final ProcessHandleImpl current;
  60 
  61     /**
  62      * Map of pids to ExitCompletions.
  63      */
  64     private static final ConcurrentMap<Long, ExitCompletion>
  65             completions = new ConcurrentHashMap<>();
  66 




  25 package java.lang;
  26 
  27 import java.security.PrivilegedAction;
  28 import java.time.Duration;
  29 import java.time.Instant;
  30 import java.util.Arrays;
  31 import java.util.Optional;
  32 import java.util.concurrent.CompletableFuture;
  33 import java.util.concurrent.ConcurrentHashMap;
  34 import java.util.concurrent.ConcurrentMap;
  35 import java.util.concurrent.Executor;
  36 import java.util.concurrent.Executors;
  37 import java.util.concurrent.ForkJoinPool;
  38 import java.util.concurrent.SynchronousQueue;
  39 import java.util.concurrent.ThreadFactory;
  40 import java.util.concurrent.ThreadPoolExecutor;
  41 import java.util.concurrent.TimeUnit;
  42 import java.util.stream.IntStream;
  43 import java.util.stream.Stream;
  44 


  45 import static java.security.AccessController.doPrivileged;
  46 
  47 /**
  48  * ProcessHandleImpl is the implementation of ProcessHandle.
  49  *
  50  * @see Process
  51  * @since 9
  52  */
  53 final class ProcessHandleImpl implements ProcessHandle {
  54     /**
  55      * Cache the ProcessHandle of this process.
  56      */
  57     private static final ProcessHandleImpl current;
  58 
  59     /**
  60      * Map of pids to ExitCompletions.
  61      */
  62     private static final ConcurrentMap<Long, ExitCompletion>
  63             completions = new ConcurrentHashMap<>();
  64 


< prev index next >