All Downloads are FREE. Search and download functionalities are using the official Maven repository.

java.util.concurrent.ExecutorService Maven / Gradle / Ivy

Go to download

ExecutorService's type parameters changed between JDK5 and JDK6 in a way that makes it impossible for our invokeAll/invokeAny methods to match both at compile time. This project builds a JDK6-like copy of ExecutorService (but with JDK5 compiler settings to ensure that it will work with JRE5 at runtime). It also builds a version of AbstractExecutorService that is equivalent to a JDK5 version but using the JDK6 type parameters for the invokeAll/invokeAny methods just as with ExecutorService. This project's is then used in the bootstrap class path of Guava proper.

The newest version!
/*
 * This file is a modified version of 
 * http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/src/main/java/util/concurrent/ExecutorService.java?revision=1.51
 * which contained the following notice:
 *
 * Written by Doug Lea with assistance from members of JCP JSR-166
 * Expert Group and released to the public domain, as explained at
 * http://creativecommons.org/publicdomain/zero/1.0/
 */

package java.util.concurrent;

import java.util.Collection;
import java.util.List;

public interface ExecutorService extends Executor {
  void shutdown();

  List shutdownNow();

  boolean isShutdown();

  boolean isTerminated();

  boolean awaitTermination(long timeout, TimeUnit unit)
      throws InterruptedException;

   Future submit(Callable task);

   Future submit(Runnable task, T result);

  Future submit(Runnable task);

   List> invokeAll(Collection> tasks)
      throws InterruptedException;

   List> invokeAll(
      Collection> tasks, long timeout, TimeUnit unit)
      throws InterruptedException;

   T invokeAny(Collection> tasks)
      throws InterruptedException, ExecutionException;

   T invokeAny(
      Collection> tasks, long timeout, TimeUnit unit)
      throws InterruptedException, ExecutionException, TimeoutException;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy