线程池1:线程池部分,内容概述;

说明:

(1)在了解线程池之前,可以先看下【Java线程一:进程和线程;创建线程继承Thread,实现Runnable接口】及后续的五篇博客,回顾一下JavaSE中线程的基本内容;

          ● 进程和线程的简介、创建线程的三种方式、线程状态、线程生命周期、sleep()和join()方法、线程优先级、线程同步(synchroniced)、线程间通信(wait()、notify()、notifyAll());

          ● 通过回顾线程的内容,主要是要明白这个逻辑:【任务的执行,是需要占用CPU的】→【而,每个任务从开始到结束,并不会一只占用CPU】→【比如,我们有A,B,C,D,E5个任务】→【自然,我们可以依次执行A,B,C,D,E这5个任务;自然,这种方式时,比如在执行A任务的过程中,不会一直占用CPU,即CPU会存在空闲的时间片;;;;但,因为我们是顺序依次执行这个5个任务,所以CPU的空闲的时间片就白白闲置了】→【但是,如果我们把A,B,C,D,E这5个任务,放在5个线程中去,然后启动这个5个线程:那么CPU就会合理调度这个5个线程,在执行这5个任务的时候,CPU会被充分压榨和利用;;;;由此,执行这5个任务的总时间,就会减少】;这其实,也算是体现了线程的作用;

(2)本篇博客内容:介绍线程池部分会介绍哪些内容;

一:线程池部分内容;

(1) 线程池简介;

          ● 线程池简介:为什么要有线程池、线程池的作用;

(2)创建和停止线程池;

          ● 重点是创建线程池;

(3)常见线程池的特点和用法;

          ● 其实,jdk已经提供了很多有用的线程池;通常,我们可以利用这些jdk提供的线程池,来帮助我们实现业务逻辑

          ● 所以,我们需要了解jdk给我们提供了哪些线程池;这样以后,我们在需要的时候,才能够更好的使用这些现成的轮子;

(4)任务太多,怎么拒绝;

          ● 线程池满了之后,怎么做;

(5)钩子方法;

          ● 我们会给线程池增加一些能力;比如,在线程池执行每一个任务之前或之后,都可以做一定的调优;

(6)线程池的实现原理、源码分析;

(7)使用线程池的注意点;

你可能感兴趣的:((20)线程池,分布式,Docker,Nginx,MQ:入门,java)