1.线程其实是程序的一条执行路径;进程是一个独立应用程序。

2.cpu随机切换进程:大家以为进程都是在同时执行,实际上底层是cpu在不断进行切换。一个进程中有N多线程,进程是所有线程的集合。

   多线程的目的是为了提高程序执行效率。

3.线程是一条执行路径,每个线程都互不影响。多线程是在一个进程中有多条不同的执行路径,并行执行,目的是为了提高程序效率。

4.在一个进程中,一定会有主线程。

5.线程的几种分类:用户线程、守护线程; 主线程、子线程、GC线程

6.多线程的实现方式:

   A.继承Thread类

   B.实现Runnable接口

   C.使用匿名内部类方式

   D.使用线程池进行管理

7.同步和异步的区别

   A.单线程特征:代码从上往下顺序执行

   B.同步概念:代码从上往下进行执行

   C.异步概念:采用多线程。新的一条执行路径,不会影响其他线程。多线程包含异步概念。

8.多线程的五种状态

   

 

9.守护线程与非守护线程

   A.守护线程:和main相关。特征:和主线程一起销毁。例子:gc线程

   B.用户线程(也叫非守护线程):用户自己创建的线程。如果主线程停止掉,不会影响用户线程。特征:和主线程互不影响。

10.join()方法

   正在A线程,另一个线程B,A线程调用B的这个join方法,作用:A等待B线程执行完毕之后(释放A的CPU执行权),再继续执行。