March 2005
Intermediate to advanced
1254 pages
104h 21m
English
ExecutorCompletionService<V>
This class implements the
CompletionService interface, which uses an
Executor object passed to its constructor for
executing the tasks passed to its submit( )
method. As these tasks complete, their result (or exception) is
placed, in the form of a Future object, on an
internal queue and becomes available for removal with the blocking
take( ) method or the nonblocking or timed
poll( ) methods.
This class is useful when you want to execute a number of tasks
concurrently and want to process their results in whatever order they
complete. See Executors for a source of
Executor objects to use with this class.
Figure 16-83. java.util.concurrent.ExecutorCompletionService<V>
public class ExecutorCompletionService<V> implements CompletionService<V> { // Public Constructors public ExecutorCompletionService(Executor executor); public ExecutorCompletionService(Executor executor, BlockingQueue<Future<V>> completionQueue); // Methods Implementing CompletionService public Future<V> poll( ); public Future<V> poll(long timeout, TimeUnit unit) throws InterruptedException; public Future<V> submit(Callable<V> task); public Future<V> submit(Runnable task, V result); public Future<V> take( ) throws InterruptedException; }