1、继承Tread类2、实现Runnable接口
1方法实例化一个线程时,多次调用start()也只能启动一个线程。实例化多个线程实例,每个实例调用一次start()可以启动多个线程,但线程中的资源也是多份的。继承了Tread类后不能同时继承其它类了。
2方法可以实例化多个线程,每个实例调用一次start()就可以实现多个线程,并且多个线程共享同一份资源。实现了Runnable接口后还可实现其它接口和继承其它类。