An introduction to the Fork/Join framework
The executor framework, introduced in Java 5, provides a mechanism to execute concurrent tasks without creating, starting, and finishing threads. This framework uses a pool of threads that executes the tasks you send to the executor reusing them for multiple tasks. This mechanism provides some advantages to programmers and these are as follows:
- It's easier to program concurrent applications because you don't have to worry to create threads.
- It's easier to control the resources used by the executor and your application. You can create an executor that only uses a predefined number of threads. If you send more tasks, the executor stores them in a queue until a thread is available.
- Executors reduce the overhead introduced by thread creation reusing the threads. Internally, it manages a pool of threads that reuses threads to execute multiple tasks.
The divide and conquer algorithm is a very popular design technique. To solve a problem using...