继承Thread类
子类继承Thread类具备多线程能力
启动线程:子类对象. start()
不建议使用:避免单继承局限性
例如:
Race race1 = new Race();//对象race1创建
Race race2 = new Race();//对象race2创建
race1.start();//线程一启动
race2.start();//线程二启动
实现Runnable接口
实现接口Runnable具有多线程能力
启动线程:传入目标对象+Thread对象.start()
推荐使用:避免单继承局限性,灵活方便,方便同-个对象被多个线程使用
例如:
Race race = new Race();//创建对象
new Thread(race,"兔子").start();//线程一启动
new Thread(race,"乌龟").start();//线程二启动