在java中创建线程的方式有两种:
1.继承Thread类;继承Thread的类就是一个线程类,需要重新run方法,run方法里的代码就是本线程要执行的代码
2.实现Runnable接口,并重新run方法,并将实现类作为参数交给一个Thread类区执行;实现Runnable接口的类相当是一个任务类,是交付给Thread来执行的,这种方式好处是实现了执行数据和执行体的解耦