You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Gradle当前实际生效的max-workers参数值?

解决方案

直接读取gradle.startParameter.maxWorkerCount即可拿到最终生效的最大worker数,这个值是Gradle启动阶段合并所有配置来源、计算默认值后得到的最终结果,覆盖所有配置场景:

  • 命令行传入--max-workers参数指定的值
  • gradle.properties中org.gradle.workers.max配置项指定的值
  • 用户未做任何自定义配置时,Gradle按当前机器CPU核心数自动计算的默认值

你之前直接读取org.gradle.workers.max属性拿不到值,是因为这个属性只有用户显式在配置文件/系统参数中声明时才会存在,Gradle自动计算的默认值、命令行传入的参数值不会回写到这个属性里,自然读不到全场景的正确结果。

配置示例

Groovy DSL(build.gradle)

task runMultiThreadProcess(type: Exec) {
    // 获取实际生效的最大worker数
    def threadCount = gradle.startParameter.maxWorkerCount
    // 按你启动的进程的参数要求传递即可,示例为进程接收--thread-count参数指定线程数
    commandLine "your-app-command", "--thread-count", threadCount.toString()
    // 补充你需要的其他Exec配置,比如工作目录、输入输出声明等
}

Kotlin DSL(build.gradle.kts)

tasks.register<Exec>("runMultiThreadProcess") {
    val threadCount = gradle.startParameter.maxWorkerCount
    commandLine("your-app-command", "--thread-count", threadCount.toString())
}

注意:不需要手动解析各个配置源的优先级,startParameter中的值已经是Gradle按照官方优先级规则合并后的最终结果,所有Gradle 1.0+版本都支持该API,不存在版本兼容问题。

内容的提问来源于stack exchange,提问作者DBear

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 00:48:25