我对如何继续我的代码有疑问。我的项目是一个在后台一个一个地运行配置的工具。我想为运行配置的数量添加一个限制。例如,如果我有 13 个配置,我想每次运行 5 个配置,所以顺序是:
- Running 5 configurations
- All 5 configurations done running
- Running 5 configurations
- All 5 configurations done running
- Running 3 configurations
- All 3 configurations done running
现在的代码,工作如下:
public void runConfigurations(List<ConfigStruct> configurations) {
for (ConfigStruct configuration : configurations) {
try {
configuration.run();
} catch (ConfigurationException e) {
continue;
}
}
}
现在,它一个一个地运行每个配置。该run方法如下所示:
public void run() throws ConfigurationException {
StringBuffer runCmd = generateGalishFullCommand(GalishFlags.RUN);
try {
ExternalCommandExecutor.execute(runCmd, "Failed to run " + name, true, true);
} catch (IOException e) {
throw new ConfigurationException(e.getMessage());
}
}
外观签名execute如下:
public static String execute(final String cmd, final String error, final boolean runInBackground, final boolean retry) throws IOException;
起初,我虽然可以不在后台每 5 个配置运行最后一个配置,但它有问题。我不能不在后台执行每 5 个配置的最后一个配置,因为第一个配置可能最后完成。我该如何解决这个问题?
编辑:
当我打印配置时,它看起来如下:
[com.configStructs@3f15dbec, com.configStructs@31d2327e]
此外,这configurations是一个列表configStructs。
神不在的星期二
郎朗坤
相关分类