介绍一下线程池

1.线程池就是预先创建一些线程,它们的集合称为线程池

2.线程池可以很好地提高性能,在系统启动时即创建大量空闲的线程,程序将一个task给到线程池,线程池就会启动一条线程拉力执行这个任务,执行结束后,该线程不会死亡,而实再次返回线程池成为空闲状态,等待执行下一个任务。

3.线程的创建和销毁比较消耗时间,线程池可以避免这个问题

4.Executors时jdk1.5之后的一个新类,提供了一些静态方法,帮助我们方便的生成一些常见的线程池

a.newSingleThreadExecutor:创建一个单线程话的Executor。
b.newFixedThreadPool:创建一个固定大小的线程池
c.呢哇CachedThreadPool:创建一个定长的线程池,可以周期性执行任务。

5.我们还可以使用ThreadPoolExecutor自己定义线程池,弄懂它的构造参数即可
a. int corePoolSize, //核心池的大小
b.int maximumPoolSize, //线程池最大线程数
c.long keepAliveTime., //保持时间/额外线程的存活时间
d.TimeUnit unit,//时间单位
e.BlockingQueueworkQueue,//任务队列
f.ThreadFactory threadFactory,//线程工厂
g.RejectedExecutionHandler handler //异常的捕捉器

简要回答
1.线程池就是预先创建一些线程
2.线程池可以很好地提高性能
3.线程池可以避免线程频繁的创建和销毁
4.Executors可以创建常见的4种线程(单线程池,固定大小的,可缓存的,可周期性执行任务的)
5.可以通过ThreadPoolExecutor自己定义线程池

辅助理解

1、 看看Excutors中的方法
介绍一下线程池
2、看看ThreadPoolExecutor的构造函数
介绍一下线程池