Java 7: Fork / Join Framework

Может кто-нибудь объяснить, что такое Fork / Join?

10
задан dogbane 21 August 2011 в 15:23
поделиться

3 ответа

Fork Join - это новый фреймворк, который имеет более простой в использовании API для параллельного алгоритма "разделяй и властвуй".

Допустим, у вас есть долго выполняющаяся задача, которая, в данном случае, имеет сложный алгоритм. Вы хотите разделить большие задачи и теперь работать над этими двумя задачами. Теперь допустим, что эти две задачи все еще слишком большие, вы разделите каждую из них на две задачи (в данный момент их четыре).

Вы будете продолжать это, пока каждая задача не достигнет приемлемого размера, и вызовете алгоритм. Важно знать, что вызов каждой задачи выполняется параллельно. Когда задача завершена, она объединяется с другой задачей, на которую она была вилочной, и консолидирует результаты.

Это будет продолжаться до тех пор, пока все задачи не будут объединены и не будет возвращена одна задача.

8
ответ дан 3 December 2019 в 18:30
поделиться

Допустим, у вас есть коллекция вещей, которые нужно обработать. У вас есть несколько потоков, которые могут захватывать подмножества этой коллекции и обрабатывать их. Все они делают это одновременно (часть fork), а затем ждут, пока последний поток закончит (часть join), прежде чем вернуться.

2
ответ дан 3 December 2019 в 18:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: