Yis*_*hai 3 java concurrency java.util.concurrent
是否有理由喜欢这样做:
private static ExecutorService service = Executors.newScheduledThreadPool(10);
Run Code Online (Sandbox Code Playgroud)
对此:
private static ExecutorService service = new ScheduledThreadPoolExecutor(10);
Run Code Online (Sandbox Code Playgroud)
没有特别的理由,没有.在Executors静态方法有为了方便和写覆盖的标准使用情况的很大比例.
虽然不是你提到的情况,但是使用其他一些静态方法会使你的代码变得更加简单和易读.例如:
threadPool = Executors.newFixedThreadPool(10);
Run Code Online (Sandbox Code Playgroud)
与:
threadPool = new ThreadPoolExecutor(10, 10, 0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>());
Run Code Online (Sandbox Code Playgroud)
我可以想到为什么使用这些Executors方法可能更好的唯一可能原因是,如果在将来的JDK版本中,它们更改了某些底层ExecutorService类的默认值,那么静态方法将由Sun/Oracle调整以更好地利用新的构造函数参数,您不必更改代码.
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |