黑马程序员技术交流社区

标题: 关于多线程的实现的问题 [打印本页]

作者: 冷月霜飞    时间: 2015-5-13 14:19
标题: 关于多线程的实现的问题
在实现多线程的第二种方式中,先定义类去实现接口runable,为何不可以直接创建该类的对象,而只能创建Thread类的对象?
另外,为何又要将Runable接口的子类对象作为参数传递给Thread类的构造函数?
作者: 突然世界晴    时间: 2015-5-13 14:56
因为多线程开启 需要用Thread类 并调用start方法,
他有几种不同的构造方法。
第一种就是继承Thread重写run方法调用start方法
第二种就是实现runnable 接口,避免了类的单继承问题
然后将runnable的实现类作为对象传递给Thread的构造方法 然后再调用start方法。
作者: 廖直赟    时间: 2015-5-13 20:20
直接创建该类对象的话。。。你那类里面有Start()方法吗?有sleep()方法吗?之所以传给Thread ,因为它那里有那些方法。
作者: Misa    时间: 2015-5-13 20:28
学习。。。
作者: shao122791159    时间: 2015-5-13 21:33
runnable 里面只有一个run方法。你想开启线程,获取当前线程名字等,用到这些方法,创建的就必须是Thread的对象。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2