A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© qmayuan 中级黑马   /  2013-8-11 23:27  /  1118 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

实现多线程有两种方式  一个是继承Thread类。然后重写run方法,具体是 直接实例化然后调用start方法。
第二种是实现runnable接口  也要重写run方法。 但在实现的时候需要  实例化这个对象  还要实例化Thread类,才能调用start方法,我是这么理解的,不知道对不对
但是这两种方法的根本区别是什么,  什么时候该用哪种?

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 神马都是浮云

查看全部评分

3 个回复

倒序浏览
☆今☆ 来自手机 中级黑马 2013-8-11 23:48:26
沙发
这两个的区别,应该是实现和继承的区别;继承只能单继承,而实现却还可以去继承别的类。所以,如果有父类的类只能实现Runnable。没有继承父类两者都行,可能用继承的还简单一点。还有一个实现runnable的接口的对象可以作为参数传递给多个线程。那么多个线程可以共享这个对象的neurobg
回复 使用道具 举报
因为java不支持多继承类,所以如果一个类要继承其他类又要多线程的时候,就只能去实现接口了
回复 使用道具 举报
☆今☆ 来自手机 中级黑马 2013-8-11 23:50:34
板凳
可以共享这个对象的内容,如果是继承可能得把共享的变量定义为静态。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马