与使用多线程程序并行编译项目而不是使用单线程程序相比,具有任何性能优势



我必须用Java创建一个能够执行n构建的特定android项目的程序。目前,我正在使用类ProcessBuilder和Process来执行命令"。/gradlew assemblerrelease ",它执行任务" assemblerrelease "调用gradle,从而允许构建项目并输出签名APK。

正如我已经说过的,这个程序需要为一个特定的android项目执行n次构建(1.000-4.000)。所以,我的问题是:

创建多线程程序是否有任何优势(时间执行),它将这些构建分布在n个线程中(例如由ExecutorService管理),而不是在单个线程中完成所有构建?我怎么知道什么是线程的最佳数量异步运行?

谢谢

与其自己在Java中这样做,我建议看看现有的解决方案。

如果你没有构建服务器,这将是一个很好的工具来处理这个问题,因为它知道并行运行构建的所有信息!

对于成千上万的作业,我会推荐一个脚本解决方案来创建和维护作业,以及一个版本控制存储库,让作业在更改时获得源代码(如github)。

我发现Jenkins的工作DSL插件工作得很好。见https://wiki.jenkins-ci.org/display/JENKINS/Job + DSL +插件

最新更新