Class VirtualizedExecutorService

  • All Implemented Interfaces:
    java.util.concurrent.Executor, java.util.concurrent.ExecutorService, LoadMetrics

    public final class VirtualizedExecutorService
    extends java.lang.Object
    implements java.util.concurrent.ExecutorService, LoadMetrics
    A virtualized executor service that creates a new virtual thread for each task. Will shut down the underlying executor service when this executor is being shutdown.

    INTERNAL API

    • Constructor Summary

      Constructors 
      Constructor Description
      VirtualizedExecutorService​(java.util.concurrent.ThreadFactory vtFactory, java.util.concurrent.ExecutorService underlying, scala.Function1<java.util.concurrent.Executor,​java.lang.Object> loadMetricsProvider, boolean cascadeShutdown)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean atFullThrottle()  
      boolean awaitTermination​(long timeout, java.util.concurrent.TimeUnit unit)  
      void execute​(java.lang.Runnable command)  
      <T> java.util.List<java.util.concurrent.Future<T>> invokeAll​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)  
      <T> java.util.List<java.util.concurrent.Future<T>> invokeAll​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks, long timeout, java.util.concurrent.TimeUnit unit)  
      <T> T invokeAny​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)  
      <T> T invokeAny​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks, long timeout, java.util.concurrent.TimeUnit unit)  
      boolean isShutdown()  
      boolean isTerminated()  
      void shutdown()  
      java.util.List<java.lang.Runnable> shutdownNow()  
      java.util.concurrent.Future<?> submit​(java.lang.Runnable task)  
      <T> java.util.concurrent.Future<T> submit​(java.lang.Runnable task, T result)  
      <T> java.util.concurrent.Future<T> submit​(java.util.concurrent.Callable<T> task)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • VirtualizedExecutorService

        public VirtualizedExecutorService​(java.util.concurrent.ThreadFactory vtFactory,
                                          java.util.concurrent.ExecutorService underlying,
                                          scala.Function1<java.util.concurrent.Executor,​java.lang.Object> loadMetricsProvider,
                                          boolean cascadeShutdown)
    • Method Detail

      • awaitTermination

        public boolean awaitTermination​(long timeout,
                                        java.util.concurrent.TimeUnit unit)
        Specified by:
        awaitTermination in interface java.util.concurrent.ExecutorService
      • execute

        public void execute​(java.lang.Runnable command)
        Specified by:
        execute in interface java.util.concurrent.Executor
      • invokeAll

        public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)
        Specified by:
        invokeAll in interface java.util.concurrent.ExecutorService
      • invokeAll

        public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks,
                                                                            long timeout,
                                                                            java.util.concurrent.TimeUnit unit)
        Specified by:
        invokeAll in interface java.util.concurrent.ExecutorService
      • invokeAny

        public <T> T invokeAny​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)
        Specified by:
        invokeAny in interface java.util.concurrent.ExecutorService
      • invokeAny

        public <T> T invokeAny​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks,
                               long timeout,
                               java.util.concurrent.TimeUnit unit)
        Specified by:
        invokeAny in interface java.util.concurrent.ExecutorService
      • isShutdown

        public boolean isShutdown()
        Specified by:
        isShutdown in interface java.util.concurrent.ExecutorService
      • isTerminated

        public boolean isTerminated()
        Specified by:
        isTerminated in interface java.util.concurrent.ExecutorService
      • shutdown

        public void shutdown()
        Specified by:
        shutdown in interface java.util.concurrent.ExecutorService
      • shutdownNow

        public java.util.List<java.lang.Runnable> shutdownNow()
        Specified by:
        shutdownNow in interface java.util.concurrent.ExecutorService
      • submit

        public <T> java.util.concurrent.Future<T> submit​(java.util.concurrent.Callable<T> task)
        Specified by:
        submit in interface java.util.concurrent.ExecutorService
      • submit

        public <T> java.util.concurrent.Future<T> submit​(java.lang.Runnable task,
                                                         T result)
        Specified by:
        submit in interface java.util.concurrent.ExecutorService
      • submit

        public java.util.concurrent.Future<?> submit​(java.lang.Runnable task)
        Specified by:
        submit in interface java.util.concurrent.ExecutorService