• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
仅供参考
博客园    首页    新随笔    联系   管理    订阅  订阅
线程池
  • 线程池:JDK1.5之后提供的

  • java.util.concurrent.Executors:线程池的工厂类,用来生产线程池

  • Executors类中的静态方法:

  • static ExecutorService newFixedThreadPool(int nThreads) 创建一个可重用固定线程数的线程池

  • 参数:

  • int nThreads:创建线程池中包含的线程数量

  • 返回值:

  • ExecutorService接口: 返回的是ExecutorService接口的实现类对象,我们可以使用ExecutorService接口接收(面向接口编程)

  • java.util.concurrent.ExecutorService:线程池接口

  • 用来从线程池中获取线程,调用start方法,执行线程任务

  • submit(Runnable task):提交一个Runnable任务用于执行

  • 关闭/销毁线程池的方法:

  • void shutdown()

  • 使用线程池中线程对象的步骤:

    1. 创建线程池对象,使用线程池的工厂类Executors里面提供的静态方法newFixedThreadPool生产一个指定的数量的线程池
      2. 创建Runnable接口子类对象。(task) 定义一个类,实现Runnable接口,重写run方法,设置线程任务,new实现类对象
      3. 提交Runnable接口子类对象。 (take task) 调用ExecutorService中的方法submit,传递线程任务(实现类对象),开启新线程,执行run方法
      4. 关闭线程池(一般不做)。 调用ExecutorService类中方法shutdown销毁线程池(一般不建议使用)。
  • */
    public class Demo01ThreadPool {

    public static void main(String[] args) {
    //1.创建线程池对象,使用线程池的工厂类Executors里面提供的静态方法newFixedThreadPool生产一个指定的数量的线程池
    ExecutorService threadPool = Executors.newFixedThreadPool(10);
    //2.new Runnable接口实现类对象
    Runnable task = new RunnableImpl();
    //3.提交Runnable接口子类对象。 (take task) 调用ExecutorService中的方法submit,传递线程任务(实现类对象),开启新线程,执行run方法
    threadPool.submit(task);// pool-1-thread-1--->创建了一个新的线程任务
    // 又创建了一个线程任务
    threadPool.submit(new RunnableImpl());// pool-1-thread-2--->创建了一个新的线程任务
    threadPool.submit(new RunnableImpl());// pool-1-thread-3--->创建了一个新的线程任务
    threadPool.submit(new RunnableImpl());// pool-1-thread-4--->创建了一个新的线程任务
    /*

    • 注意:submit方法结束后,程序并不会终止,是因为线程池控制了线程的关闭
      • 将使用完的线程又归还到了线程池中
        */
        // 4.关闭线程池(一般不做)。 调用ExecutorService类中方法shutdown销毁线程池(一般不建议使用)。
        threadPool.shutdown();

    threadPool.submit(new RunnableImpl());// 抛异常,线程池中没有了,就不能获取到线程了。

posted on 2020-12-11 22:14  七0  阅读(72)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3