18.2.6 匿名内部类的方式
案例代码
**package com.lagou.task18;****public class ThreadNoNameTest {**** public static void main(String[] args) {**** // 匿名内部类的语法格式:父类/接口类型 引用变量名 = new 父类/接口类型() { 方法的重写 };**** // 1.使用继承加匿名内部类的方式创建并启动线程**** /*Thread t1 = new Thread() {**** @Override**** public void run() {**** System.out.println("张三说:在吗?");**** }**** };**** t1.start();*/**** new Thread() {**** @Override**** public void run() {**** System.out.println("张三说:在吗?");**** }**** }.start();**** // 2.使用实现接口加匿名内部类的方式创建并启动线程**** /*Runnable ra = new Runnable() {**** @Override**** public void run() {**** System.out.println("李四说:不在。");**** }**** };**** Thread t2 = new Thread(ra);**** t2.start();*/**** /*new Thread(new Runnable() {**** @Override**** public void run() {**** System.out.println("李四说:不在。");**** }**** }).start();*/**** // Java8开始支持lambda表达式: (形参列表)->{方法体;}**** /*Runnable ra = ()-> System.out.println("李四说:不在。");**** new Thread(ra).start();*/**** new Thread(()-> System.out.println("李四说:不在。")).start();**** }****}**
18.3 线程的生命周期(熟悉)

- 新建状态 - 使用new关键字创建之后进入的状态,此时线程并没有开始执行。
- 就绪状态 - 调用start方法后进入的状态,此时线程还是没有开始执行。
- 运行状态 - 使用线程调度器调用该线程后进入的状态,此时线程开始执行,当线程的时间片执行完
- 毕后任务没有完成时回到就绪状态。
- 消亡状态 - 当线程的任务执行完成后进入的状态,此时线程已经终止。
- 阻塞状态 - 当线程执行的过程中发生了阻塞事件进入的状态,如:sleep方法。
- 阻塞状态解除后进入就绪状态。
