Утилита параллелизма Java:
http://download.oracle.com/javase/1.5.0/docs/guide/concurrency/overview.html
делает параллельное программирование на Java еще проще, чем это было раньше.Я бы предложил начать там - если вам неудобно работать с потоками, я бы дважды подумал о том, чтобы продолжить.Распараллеливание чего-либо требует некоторого уровня технического комфорта с тем, как выполняются и координируются параллельные вычисления.На мой взгляд, это не может быть намного проще, чем эта структура - что является одной из причин, почему вы видите так мало альтернатив.
Во-вторых, главное, о чем вы должны подумать, это что такое единица работы для распараллеливания.Если ваша единица работы независима (то есть каждая параллельная задача не влияет на другие), это, как правило, намного проще, потому что вам вообще не нужно беспокоиться о значительной (или какой-либо) синхронизации.Приложите усилия, чтобы подумать, как смоделировать проблему, чтобы вычисления были как можно более независимыми.Если вы смоделируете это хорошо, вы почти наверняка сократите количество строк кода (что уменьшает количество ошибок и т. Д.).
Следует признать, что структуры, которые автоматически распараллеливаются для вас, менее подвержены ошибкам, но могут быть неоптимальными, если ваша единица работы модели не соответствует их схеме распараллеливания.