我已经在Java中创建线程池与40现有线程创建使用新的Thread()一个新的线程。开始()
核心池大小假设目前它只有10个线程。如果属于这个线程池的线程之一创建了一些新的线程,它们将只是这个线程池的一部分,还是它们是独立的?
我已经在Java中创建线程池与40现有线程创建使用新的Thread()一个新的线程。开始()
核心池大小假设目前它只有10个线程。如果属于这个线程池的线程之一创建了一些新的线程,它们将只是这个线程池的一部分,还是它们是独立的?
新创建的线程不应该是其中的一部分。如果您正在通过执行程序服务使用ThreadPool,则必须提交即使子线程成为此执行程序服务的ThreadPool的一部分。
您的简短回答是否,从提交给线程池的任务生成的额外线程将不会计入池容量的一部分,因为您没有明确提交或要求线程池启动它。
换句话说,池没有跟踪该衍生线程的运行状态。程序员正在创建线程实例并启动它。
此外,对于Java线程池,容量大约是在特定时间点上运行任务数量,任务是RUNNABLE
或CALLABLE
让你随时可以提交超过池 - 容量任务到池但不要求在任何时间点运行比容量更多的任务。