Summary

In simple concurrent applications, we execute concurrent tasks using the Runnable interface and the Thread class. We create and manage the threads and control their execution. We can't follow this approach in big concurrent applications because it can cause us many problems. For these cases, the Java concurrency API has introduced the executor framework. In this chapter, we presented the basic characteristics and components that form this framework. First of all, the Executor interface, which defines the basic method to send a Runnable task to an executor. This interface has a subinterface, the ExecutorService interface, which includes methods to send to the executor tasks that return a result (these tasks implement the Callable interface, ...

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.