预定义的线程池

45 阅读1分钟

在 Java 中,预定义的线程池主要是通过 java.util.concurrent.Executors 类提供的,常见的线程池有以下几种:

  1. Fixed Thread Pool (Executors.newFixedThreadPool(int nThreads))

    • 场景:适合于执行多个耗时的任务,且线程数固定的场景,比如处理固定数量的请求或并发处理一些任务。
  2. Cached Thread Pool (Executors.newCachedThreadPool())

    • 场景:适合于处理大量短时间的任务。当任务量大且时间短时,可以动态创建线程,但不再使用的线程会被回收。适合于瞬时高并发的场景。
  3. Single Thread Executor (Executors.newSingleThreadExecutor())

    • 场景:适合于需要保证任务顺序执行的场景,比如处理日志记录或顺序处理任务,避免并发导致的资源竞争。
  4. Scheduled Thread Pool (Executors.newScheduledThreadPool(int corePoolSize))

    • 场景:适合于需要定时或周期性执行任务的场景,比如定时任务调度、周期性数据处理等。