- 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("所有资源同步完成");
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()来实现,它会阻塞当先线程直至调用程序运行结束。