【发布时间】:2016-01-13 13:11:59
【问题描述】:
我有一个机器人模拟要运行多次以收集统计信息。特别是,我想用 1,2,...,10 个机器人运行模拟,每个机器人必须运行 30 次,所以我想通过 main args 传递所需数量的机器人。
由于模拟非常消耗内存,我想依次运行它们,一个接一个(否则很有可能出现 OutOfMemory Exception)。我在 Java/Eclipse 中工作,在运行配置下,可以指定要传递给程序的参数,就好像它被 shell 调用一样,但我还没有找到任何方法来自动化这个过程。
简而言之,我想做的是:
for i=1 to 10:
for j=1 to 30:
run simulation_instance(i)
程序的每次运行都必须是独立的。我尝试过使用Launch Group Option,但它的可配置性太差了。
你知道其他选择吗?
【问题讨论】:
-
从命令行而不是从 ecpilse 中启动你的 java 程序。
-
欢迎来到 StackOverflow。虽然可以在 StackOverflow 上提出仅与您相关的问题,但这通常被认为是不好的做法。相反,最好删除所有特定细节并提出一个通用问题,例如:“如何在 eclipse 中多次启动我的 Java 程序?” (你也可以看看:stackoverflow.com/help/how-to-ask.)
-
您是否考虑过编写一个使用 ProcessBuilder 的新类,或者如果您使用的是较旧的 Java 版本 Runtime.exec? Java.docs.oracle.com/javase/7/docs/api/java/lang/ProcessBuilder.html