Java in a Nutshell, 5th Edition [Electronic resources]

نسخه متنی -صفحه : 1191/ 787
نمايش فراداده

ExecutorCompletionService<V>java.util.concurrent

Java 5.0

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; }