Распараллеливание муравья вроде GNU Make?

1

Мне нужно выполнить несколько задач ant. Они не должны запускаться в одном JVM, исполнение на gnu make-like fork() -ed на этот раз отлично (*).

Но, что мне нужно, это была функциональность с помощью gnu make can с флагом -j: мне нужно ограничить максимальное количество задач, выполняемых параллельно. Это основная проблема, в моих текущих попытках (задача подзаголовка) я не нашел для этого никакого варианта.

Итак, есть ли решение проблемы? Я действительно не буду называть gnu make с задачей exec...

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

Теги:
makefile
parallel-processing
ant

1 ответ

1
Лучший ответ

Вы можете использовать задачу <parallel> в ant, документ описывает это как это:

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

Пример (из их документов):

<parallel threadCount="4">
  <dbpurge file="db/one" />
  <dbpurge file="db/two" />
  <dbpurge file="db/three" />
  <dbpurge file="db/four" />
  <dbpurge file="db/five" />
  <dbpurge file="db/six" />
  <dbpurge file="db/seven" />
  <dbpurge file="db/eight" />
  <!-- repeated about 40 times -->
</parallel>
  • 0
    Хм, хорошо ... спасибо! :-)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню