开发人员可以告诉fork / join pool创建一定数量的线程吗? 如果是,那么是否可以保证池中创建了多少个线程?
答案 0 :(得分:0)
来源:https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ForkJoinPool.html
使用给定的目标并行度级构建ForkJoinPool;默认情况下,等于可用处理器的数量。池尝试通过动态添加,挂起或恢复内部工作线程来维护足够的活动(或可用)线程,即使某些任务停止等待加入其他任务
答案 1 :(得分:0)
基本上,fork连接池是ThreadPool,它适用于工作窃取算法。有api来指定并行性(最大活动线程数 - (0-2 ^ 15-1))
指定并行性并不意味着池将在启动时创建那么多线程,但是如果需要将工作提交到池中,它将创建线程。