I'm looking for well organized information sources about how the upcoming jsr166y (fork-join, fences) and extras166y (ParallelArray, etc.) can be used - something from tutorial to expert level.
The fork/join framework is an implementation of the ExecutorService interface that helps you take advantage of multiple processors. It is designed for work that can be broken into smaller pieces recursively. The goal is to use all the available processing power to enhance the performance of your application.
In parallel computing, the fork–join model is a way of setting up and executing parallel programs, such that execution branches off in parallel at designated points in the program, to "join" (merge) at a subsequent point and resume sequential execution.
In short, the main difference between the Executor framework and ForkJoinPool is that the former provides a general-purpose thread pool, while the latter provides a special implementation that uses a work-stealing pattern for efficient processing of ForkJoinTask.
Fork is a process in which a task splits itself into smaller and independent sub-tasks which can be executed concurrently.
The IBM Developerworks website has a good series on this, but the most informative source I've found is this presentation by Brian Goetz, which is well worth an hour of your time. He spends the first 25 mins talking about the background, but then presents some great examples of the new framework.
Doug Lea homepage, check also the wiki
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With