线程池简单笔记

线程池:其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多的资源

合理利用线程池能够带来三个好处:

1、降低资源消耗,减少了创建和销毁线程的次数,每一个工作线程都可以被反复利用,可以执行多个任务

2、提高响应速度,当任务到达时,任务可以不需要等到线程创建就能立即执行

3、提高线程的可管理性。可以根据系统的承受能力,调整线程池中的工作线的数目,防止因为消耗过多的内存而把服务器累趴下(每个程序大约需要1mb内存,线程开的越多,消耗的内存也就越大,最后死机)

线程池:JDK1.5之后提供的

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

Executors类中的静态方法:static  ExecutorsService newFixedThreadPool(int nThread)创建一个可重用固定线程池的线程池

参数:

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

返回值:

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

Java.util.concurrent. ExecutorsService:线程池接口

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

submit​(Runnable task)提交一个Runnable 的任务执行,

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

  • void shutdown​()
    • 启动有序关闭,其中先前提交的任务将被执行,但不会接受任何新任务。 如果已经关闭,调用没有额外的作用。

      此方法不等待以前提交的任务完成执行。 使用awaitTermination来做到这一点

线程池的使用步骤:

1、使用线程池的工厂类Executors里边提供的静态方法newFixedPool生产一个指定线程数量的线程池

2、创建一个类,实现Runnable接口,重写run()方法,设置线程任务

3、调用ExecutorsService中的方法submit,传递线程任务(实现类),开启run方法

4、调用ExecutorsService中的方法shutdown​()销毁线程池(不建议使用)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值