我需要执行多个ant任务。他们没有在同一个JVM中运行,gnu make-like fork()
- 执行这次是完美的(*)。
但是,我需要的是,它是带有-j
标志的gnu make can的功能:我需要能够限制并行运行的最大任务数。这是主要问题,在我目前的尝试(子任务)中,我没有找到任何选择。
那么,问题是否有解决方案?我真的不会用exec
任务调用gnu make ...
(*)是的,我知道它是无效的,请不要因此而担心。在正常情况下,我也更喜欢多线程解决方案,但现在有特殊情况。
答案 0 :(得分:1)
您可以在ant中使用<parallel>
任务,doc's将其描述为:
并行执行嵌套任务,不保证线程安全。每个任务都将在自己的线程中运行,并发问题的可能性会随着主机系统上的CPU数量而缩放。
示例(来自他们的文档):
<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>