线程的基本内容

1、进程和线程

区别

进程:应用程序的执行实例,有独立的内存空间和系统资源。
线程:CPU调度和分派的基本单位,进程当中执行运算的最小单位,可完成一个独立的顺序控制流程。

联系

(1)、一个线程只能有一个进程,一个进程可以有多个线程。
(2)、资源分配给进程,同一进程当中的所有线程共享该进程的所有资源。
(3)、线程在执行过程当中需要协作同步,不同进程的线程要利用消息通讯的方法实现同步。

2、线程的生命周期

在这里插入图片描述
线程的状态
新建状态:创建了一个线程对象,还没有调用start()方法,这个时候,线程就处于新建状态。
就绪状态(可运行状态):调用start()方法以后,该线程就处于就绪状态,处于就绪状态的线程等待线程调度器进行调度。当线程运行之后或者从等待/阻塞/睡眠状态回来以后,也进入就绪状态。
运行状态:当线程调度程序从运行池当中选择了一个线程以后进行运行了,该线程就处于运行状态。
等待/阻塞/睡眠状态:该线程让出了CPU的资源,但是这个时候线程仍然是获得,只是当前没有条件进行运行,知道它达到一定条件后,重新进入就绪状态(可运行状态)
死亡状态:当线程的run()方法完成以后,就认为它已经死去。这个线程对象也许是活得,但它已经不是一个单独的线程,线程一旦死亡就不可恢复。

3、创建线程的方式

第一种方式:实现Runnable接口
第二种方式:继承Thread类
备注:一般情况下建议使用Runnable接口,使用这种方式最灵活,可灵活组织构建自己的代码

猜你喜欢

转载自blog.csdn.net/qq_24630433/article/details/88195140