2015-10-15 42 views
0

我有一個機器人模擬運行多次以收集統計數據。特別是,我想用1,2,...,10機器人來運行模擬,每個機器人必須運行30次,所以我想通過main args傳遞所需數量的機器人。由於模擬內存密集,所以我想依次運行它們(否則OutOfMemory異常很有可能)。我在Java/Eclipse中工作,在運行配置下,可以指定傳遞給程序的參數,就好像它是由shell調用的一樣,但是我還沒有找到任何方法來自動執行該過程。Eclipse,依次運行實例,一個接一個

總之,我希望做的是以下幾點:

for i=1 to 10: 
    for j=1 to 30: 
    run simulation_instance(i) 

程序的每次運行必須是獨立的。我嘗試過使用Launch Group Option,但它的配置太少了。

您是否知道其他的選擇?

+1

從命令行不是從ecpilse內啓動Java程序。 –

+0

歡迎來到StackOverflow。雖然有可能在StackOverflow上提出一個問題,而這個問題只與你有關,但它通常被認爲是不好的做法。相反,最好刪除所有具體的細節並提出一個通用的問題,例如:「如何從eclipse中多次啓動Java程序?」 (您可能還會看看:http://stackoverflow.com/help/how-to-ask。) –

+0

您是否考慮編寫一個使用ProcessBuilder的新類,或者如果您使用的是舊版Java Runtime.exec ? Java.http://docs.oracle.com/javase/7/docs/api/java/lang/ProcessBuilder.html – Sammy

回答

1

Eclipse中有一種方法,使用Eclipse EASE。這是非常新的,仍在孵化。但它可以讓你完成你所描述的內容。

的基本步驟是安裝Eclipse EASE,然後寫一些JavaScript,看起來有點像:

// load the Launch module 
loadModule("/System/Launch") 

// some logic for loops/etc 
for (i = 0; i < 30; i++) { 
    l = launch("name of launch configuration")  
    while (!prepare.isTerminated()) { 
     // do something to wait like java.lang.Thread.sleep(1) 
    } 
} 

*華僑城2015年,EASE目前在孵化,直到下一個版本以獲得訪問新的啓動模塊,你需要從Git獲得EASE。

有關詳細信息,請參閱: