继承的方式
1.需要定义一个自定义线程类并且继承 Thread 类
2. 在线程类中重写run方法,该方法中定义的就是本线程需要完成的任务
3. 创建线程对象,new 自定义线程类
4. 启动线程 通过自定义线程类对象.start()
实现接口的方式
1. 需要定义一个任务类,并且实现 Runnable接口
2. 在任务类中,重写run方法。该方法中定义的就是需要线程完成的任务
3. 创建线程对象,通过 Thread(Runnable r) 的构造方法
4. 启动线程,通过Thread类中的 start()