Executors(线程池工厂)

主要工厂方法:

  • newFixedThreadPool

    public static ExecutorService newFixedThreadPool(int nThreads) {
          return new ThreadPoolExecutor(nThreads, nThreads,
                                        0L, TimeUnit.MILLISECONDS,
                                        new LinkedBlockingQueue<Runnable>());
      }
    

    如果线程池中某个线程由于发生了未预期的Exception而结束,那么线程池会补充一个新的线程;

  • newSingleThreadExecutor newSingleThreadExecutor能确保依照任务在队列中的顺序来串行执行(例如FIFO、LIFO、优先级)是一个单线程的Executor,它创建单个工作者线程来执行任务,如果这个线程异常结束,会创建一个新的线程来替代;newSingleThreadExecutor能确保依照任务在队列中的顺序来串行执行(例如FIFO、LIFO、优先级)

public static ExecutorService newSingleThreadExecutor() {
        return new FinalizableDelegatedExecutorService
            (new ThreadPoolExecutor(1, 1,
                                    0L, TimeUnit.MILLISECONDS,
                                    new LinkedBlockingQueue<Runnable>()));
    }

results matching ""

    No results matching ""