线程中继承Thread类和实现Runnable接口的区别

继承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();//线程二启动

猜你喜欢

转载自blog.csdn.net/qq_56728342/article/details/122671493