- 线程生命周期
- 新建 :从新建一个线程对象到程序start() 这个线程之间的状态,都是新建状态;
- 就绪 :线程对象调用start()方法后,就处于就绪状态,等到JVM里的线程调度器的调度;
- 运行 :就绪状态下的线程在获取CPU资源后就可以执行run(),此时的线程便处于运行状态,运行状态的线程可变为就绪、阻塞及死亡三种状
- 等待/阻塞/睡眠 :在一个线程执行了sleep(睡眠)、suspend(挂起)等方法后会失去所占有的资源,从而进入阻塞状态,在睡眠结束后可重新进入就绪状态。
- 终止 :run()方法完成后或发生其他终止条件时就会切换到终止状态。
实现多线程的方法:
- 继承Thread类
-
复写Thread类中的run方法
调用线程的start方法
-
- 实现Runnable接口
-
复写Thread类中的run方法
-
覆盖Runnable接口中的run方法
通过Thread类建立线程对象 -
将Runnable接口的子类对象作为实际参数传递给Thread类的构造函数
-
调用Thread类的start方法开启线程并调用Runnable接口子类的run方法
-