线程池执行问题
来源:8-3 线程池-3

云端漫步2
2019-03-21
我用newCachedThreadPool(),newFixedThreadPool(3),newSingleThreadExecutor(),newScheduledThreadPool(3)。运行结果怎么都是顺序的呢?没有乱序呢
写回答
1回答
-
你好,你可以点开他们的实现,本质上都是调用new ThreadPoolExecutor实例化的,他们自己并不保证什么特性,只是源码实现者根据参数的特性定义了个名称而已,核心还是看ThreadPoolExecutor实例化时传入的参数。至于一直顺序执行,我猜想是你的例子太简单,执行起来太快,比如创建线程的代价已经远远大于线程执行的代价,例子变复杂,比如让执行变慢或者加入一些db、rpc等操作,效果肯定会不同的。
112019-03-21
相似问题