Java相当于Ant的Java任务中的fork?

pug*_*arx 3 java ant fork

Ant Java任务提供fork参数,根据定义"如果启用则触发另一个VM中的类执行".当我们处理大量数据时,设置此参数可以避免我们耗尽Java堆空间.
我们希望能够通过Java类做同样的事情.什么是实现功能的最佳方式fork

ala*_*mar 8

执行另一个java进程.例如,通过使用ProcessBuilder类.

http://java.sun.com/javase/6/docs/api/java/lang/ProcessBuilder.html

您可以根据需要运行任意数量的工作进程.让他们拥有一个单独的主类,从主类中完成他们的任务,并在他们的任务完成时退出.

你必须弄清楚他们的类路径,以及系统上java二进制文件的位置,但这是可行的.

我想甚至可以通过Process.waitFor()完成通知.

  • 不,如果你运行一个进程,它就是不同的虚拟机.两个不同的进程无法以任何方式共享一个VM. (4认同)