Summary

In this chapter, you learned the different mechanisms that you can use to work with tasks that return a result. These tasks are based on the Callable interface, which declares the call() method. This is a parameterized interface with the class returned by the call method.

When you execute a Callable task in an executor, you will always obtain an implementation of the Future interface. You can use this object to cancel the execution of the task, know if the task has finished its execution or get the result returned by the call() method.

You send Callable tasks to the executor using three different methods. With the submit() method, you send one task, and you will get immediately a Future object associated with this task. With the invokeAll() ...

Get Mastering Concurrency Programming with Java 8 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.