方式一:继承Thread类
1、自定义类MyThread继承Thread类。
2、在MyThread类中重写run()方法
3、创建MyThread类的对象
4、启动线程对象
问题:
1、为什么要重写run()方法
run()里面封装的是被线程执行的代码
2、启动线程对象用的是哪个方法
start()
3、run()和start()方法的区别
start()先启动线程,再由JVM调用run()方法
方式二:实现Runnable接口
1、自定义类MyRunnable实现Runnable接口
2、在MyTRunnable里面重写run()
3、创建MyRunnable类的对象
4、创建Thread类的对象,并把步骤三的对象作为构造参数传递