gpt4 book ai didi

Java固定线程池等待线程上下文切换

转载 作者:行者123 更新时间:2023-12-01 17:52:31 25 4
gpt4 key购买 nike

我的应用程序中有 3 个固定线程池,每个大小为 20。

我在池中提交任务,但有时很少会说每个池 1 、池 2 、池 3 中有 5 个任务,所以每个池中有 15 个线程闲置。我想知道这些空闲线程(总共 45 个)是否会进入上下文切换并降低性能,即使没有任务提交给它们?

最佳答案

如果池线程没有任务,则它们处于状态 WAITING ,这意味着除了等待信号发生(在本例中,等待任务提交)之外,他们没有什么可做的。它们不会被安排任何 CPU 时间,因为它们无事可做。调度程序足够聪明,知道这一点,因此此时它不会与其他更活跃的线程竞争资源。

如果线程处于RUNNABLE状态,那么它可能有实际要做的事情,并获得CPU时间。

因此,池中多余的线程不会与 Activity 线程竞争,但它们确实会占用少量 native 资源(在谈论 60 个线程时,这还不够真正重要)。

关于Java固定线程池等待线程上下文切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48456817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com