美文网首页
问题:如何实例化ExecutorService

问题:如何实例化ExecutorService

作者: Dream_Lin | 来源:发表于2019-01-22 16:04 被阅读2次

问题

如何实例化ExecutorService

答案

ExecutorService的创建

  • 使用工厂方法创建ExecutorService
    创建一个ExecutorService最简单的方法是使用Executors类提供的工厂方法,例如如下代码:
ExecutorService executor = Executors.newFixedThreadPool(10);

还有其他工厂方法用于创建一个ExecutorService来满足特定的场景,要选择一个最适合的方法.

  • 直接创建ExecutorService
    ExecutorService是一个接口,意味着我们可以使用它的任何一个实现类,我们可以选择不调用工厂方法(工厂方法的内部也是用了这些JDK内置的实现类),而直接使用JDK中的一些实现类或者自己去实现一个类.例如,ThreadPoolExecutorExecutorService的一个实现类,提供了一些构造器来创建一个带有线程池的ExecutorService.例如
ExecutorService executorService = 
  new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS,   
  new LinkedBlockingQueue<Runnable>());

这个方法也就是工厂方法Executors.newFixedThreadPool(int nThreads)的内部实现.大多情况下,我们只需要使用JDK内置的实现类即可.

相关文章

网友评论

      本文标题:问题:如何实例化ExecutorService

      本文链接:https://www.haomeiwen.com/subject/ylxrjqtx.html