In this recipe, you will learn how to use the basic elements of the fork/join framework. This includes the following:
- Creating a ForkJoinPool object to execute the tasks
- Creating a subclass of ForkJoinTask to be executed in the pool
The main characteristics of the fork/join framework you're going to use in this example are as follows:
- You will create ForkJoinPool using the default constructor.
- Inside the task, you will use the structure recommended by the Java API documentation:
if (problem size > default size){
tasks=divide(task);
execute(tasks);
} else {
resolve problem using another algorithm;
}
- You will execute the tasks in a synchronized way. When a task executes two or more subtasks, it waits for their finalizations. In this way, the thread that was executing that task (called worker thread) will look for other tasks...