Skip to content

关于线程池那核心参数与线程处理任务的流程中对于线程状态的理解感觉有歧义 #2804

@shuiyuans

Description

@shuiyuans

我感觉这里把线程的运行,空闲,存活搞混了。
我问ai严谨点对于线程处理任务流程应该是:
全程判断依据:线程池中「已创建且未销毁的工作线程总数」(与线程当前是执行任务 / 空闲等待无关)
提交新任务至线程池;
若当前工作线程总数 < corePoolSize:
直接创建新的核心工作线程执行该任务;
若当前工作线程总数 ≥ corePoolSize:
尝试将任务添加至 workQueue 阻塞队列;
入队成功:任务排队,等待空闲工作线程执行;
入队失败(队列已满):执行下一步;
队列已满,且当前工作线程总数 < maximumPoolSize:
创建新的非核心工作线程执行该任务;
队列已满,且当前工作线程总数 ≥ maximumPoolSize:
触发拒绝策略,通过 RejectedExecutionHandler.rejectedExecution() 处理该任务。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions