线程创建的三种方法:
1.继承Thread
2.实现Runnable接口
3.实现Callable接口
不建议使用:避免oop单继承举行

一、继承Thread
1.自定义线程继承Thread类;
2.重写run(),编写线程体;
3.创建线程对象,调用start()启动线程
二、实现Runnable接口
1.实现接口runnable具有多线程能力;
2.启动线程:传入目标对象+Thread对象.start();
3.推荐使用:避免单继承局限性,灵活方便,方便同一个对象被多个线程使用

lambda:
函数式接口——只包含唯一一个抽象方法;
线程状态: