创建线程方法:
1.继承Thread,重写run方法
2.实现Runnable接口,重写run方法
3.继承Thread,使用匿名内部类
4.实现Runnable,使用匿名内部类
5.使用lambda表达式
要明确线程,要完成什么样的任务。
run方法/ lambda里面写的代码,就是线程要执行的任务。
方法一:继承Thread类

myThread.start()另外启动一个线程,来执行Thread中的run方法。
新的线程是一个单独的执行流,和现有线程的执行流不相关的。
并发(并发+并行)执行。

可以看出线程轮流执行
方法二:实现Runnable接口创建线程


可以看到主线程和线程1,线程2执行

方法三:使用匿名内部类,创建Thread子类

方法四:使用匿名内部类,s实现Runnable接口

方法五:lambda表达式 ()函数形参{}函数体
