0
点赞
收藏
分享

微信扫一扫

通过线程池创建多线程 [Java]

天蓝Sea 2022-01-18 阅读 56

创建线程的方式四: 使用线程池

线程池相关API:

  • JDK5.0提供了线程池相关的API:
    1. java.util.concurrent.ExecutorService
    2. java.util.concurrent.Executors

java.util.concurrent.ExecutorService

  • ExecutorService是真正的线程池接口

  • ExecutorService接口中的常用方法:

    1. void execute(Runnable command);
      
      • 执行任务,没有返回值 — 一般用于执行Runnable实现类
    2. <T> Future<T> submit(Callable<T> task);
      
      • 执行任务,有返回值,一般用来执行Callable实现类
      • 这个方法是一个泛型方法
        • 因为这个方法中有泛型结构: — 泛型结构就是< T >
          • 泛型结构一般位于修饰符之后,返回值之前

      注意: 这里的< T >才是泛型结构,有了这个泛型结构才表示这个方法是一个泛型方法,这里的Future< T >并不是泛型结构

    3. void shutdown();
      
      • 关闭线程池

java.util.concurrent.Executors

  • 线程池的工具类 — 用来创建并返回不同类型的线程池

  • Executors类中的常用方法:

    1. Executors.newCachedThreadPool();
      
      • 带缓冲的线程池 – 创建一个可根据需要创建新线程的线程池
    2. Executors.newFixedThreadPool();
      
      • 创建一个可重用固定线程数的线程池
    3. Executors.newSingleThreadExecutor();
      
      • 创建一个只有一个线程的线程池
    4. Executors.newScheduledThreadPool();
      
      • 创建一个线程池,它可以安排在给定的时间后延迟执行命令或者定期的执行命令
举报

相关推荐

0 条评论