Посмотрите на ParallelArrayWithMapping . Он используется в ForkJoinPool (аналогично использованию с FJTask). Существует метод под названием Reduce, который может вам помочь. Использование Fork Join Pool и java 7 FJ Framework очень быстрое и предлагает хорошие возможности использования всех доступных процессоров.