runtime.getruntime .exec中waitfor的用法

log.info("同步整個資源目錄");
// 同步整個資源目錄
List<Process> processes = new LinkedList<Process>();
//獲取資源服務器
List<ResourceServer> servers = getResourceServer();
for (ResourceServer server : servers)
{
                String[] command = buildCommand(".", server);
	Process process = Runtime.getRuntime().exec(command, null, new File(resourcePath));
	processes.add(process);
}
for (Process p : processes)
{
	p.waitFor();
}
log.info("所有資源同步完成");

      在java中調用操作系統的程序時,可以使用java.lang.Runtime.getRuntime().exec() 來實現,但是這個方法在調用命令後就直接返回當前線程了;程序設計時,有時候需要在等待調用的系統程序完成操作後,當前線程才能做下一步操作,此時可以用類Process的方法waitFor()來實現,它會阻塞當先線程直至調用程序運行結束。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章