在我的程序中,我有一个n项目列表.
我将迭代列表并启动这样的过程:
Runtime.getRuntime.exec("cmd /C start abc.bat"+listitem() )
Run Code Online (Sandbox Code Playgroud)
我需要保持4个进程的计数.完成任何一个过程后,我需要启动下一个过程,因此过程计数应为4.
我能够同时启动4个进程,但不确定如何保持4的计数.基本上我需要一个通知,一旦进程终止,所以我可以开始下一个,任何线程都是可能的.
有关如何实现这一点的任何帮助,有人可以分享上述要求的片段吗?
Tim*_*der 12
使用ThreadPoolExecutor大小为4的Runnable实现,Process然后启动然后调用Process.waitFor().由于线程池将被限制为4个线程,并且所有4个线程将启动进程然后等待它,您将确定不会有超过4个子进程在运行.
一些示例代码可以帮助您:
ExecutorService executor = Executors.newFixedThreadPool(4);
executor.execute(new Runnable() {
public void run() {
//use ProcessBuilder here to make the process
Process p = processBuilder.start();
p.waitFor();
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12551 次 |
| 最近记录: |