为什么这个线程池只会用到一个线程的 我配置了多个线程数量了
时间: 2023-07-17 13:00:26 浏览: 130
根据您提供的代码片段,配置的线程池确实设置了多个线程数量。然而,线程池中实际使用的线程数量取决于您在代码中执行的任务数量。
线程池的核心线程数(CorePoolSize)表示线程池中保留的线程数,也就是线程池中始终存活的线程数量。如果有任务提交给线程池,且线程池中的线程数少于核心线程数,那么线程池会创建新的线程来处理任务。
而最大线程数(MaxPoolSize)表示线程池中允许的最大线程数,包括核心线程数和额外创建的线程数。如果有更多的任务提交给线程池,且线程池中的线程数已经达到最大线程数,那么任务将被放入队列(如果队列未满)或者根据配置的拒绝策略进行处理。
在您的配置中,核心线程数设置为10,最大线程数设置为50,因此线程池可以同时执行多达10个任务。如果同时提交超过10个任务,且队列容量(QueueCapacity)还未满,则会将超出的任务放入队列中等待执行。
请确保您在代码中提交了足够数量的任务,以便让线程池中的多个线程同时执行任务。如果只提交了一个任务,那么线程池中的其他线程可能会处于空闲状态,直到有更多的任务提交。
阅读全文