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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 心弦上的景致 中级黑马   /  2013-4-10 12:26  /  1924 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

创建线程主要有两个方式
分别是继承Thread类 和实现Rannable接口
这两种方式在线程使用过程中性能和运行机制有什么不同

启动线程:
run();
对象.start();
这两种方式都能启动线程中的有效代码区域
在使用的过程中有什么不同

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

9 个回复

倒序浏览
继承Thread类,就不能继承其它类了,有局限性
而实现Runnable接口,可以继承其他类,避免了单继承的局限性
用途结果都是一样的
回复 使用道具 举报
实现Runnable接口比继承Thread类所具有的优势:

1):适合多个相同的程序代码的线程去处理同一个资源

2):可以避免java中的单继承的限制

3):增加程序的健壮性,代码可以被多个线程共享,代码和数据独立。

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
郭华章 发表于 2013-4-10 12:57
实现Runnable接口比继承Thread类所具有的优势:

1):适合多个相同的程序代码的线程去处理同一个资源

谢谢指教。
回复 使用道具 举报
直接用run()是方法调用,这从始至终都只有一个线程,只有通过对象.start()才算是启动一个新的线程

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
java本身的单继承性限制了thread类的使用,比如说一个Student既继承了person,又想去继承Thread,就没有办法了,只有使用runnable,个人推荐runnable,
因为它能使进程和你进程中想要执行的任务分开,降低了他们之间的耦合性。

run()和start()之间的区别:
当你调用run()方法时候,并没有去启动一个线程,仅仅是调用了其中的一个方法。与多线程无关。
当使用start()的时候,它去启动线程,使其从新建态到了就绪态,具有了强占Cpu的权利,当执行线程的时候,就会调用run()方法。

这是jdk中start()的解释,
public void start()
使该线程开始执行;Java 虚拟机调用该线程的 run 方法。
结果是两个线程并发地运行;当前线程(从调用返回给 start 方法)和另一个线程(执行其 run 方法)。


希望多看看JDK。

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
lsss+10086
回复 使用道具 举报
王大斌 发表于 2013-4-10 13:05
java本身的单继承性限制了thread类的使用,比如说一个Student既继承了person,又想去继承Thread,就没有办 ...

辛苦了哥们  我虚心接受
回复 使用道具 举报
实现方式好处:避免了单继承的局限性。

在定义线程时,建立使用实现方式。



两种方式区别:

继承Thread: 线程代码存放Thread子类run方法中。

实现Runnable,线程代码存在接口的子类的run方法。
实现Runnable接口相对于继承Thread类来说,有如下的显著优势:
   1.适合多个相同代码的线程去处理同一个资源的情况
   2.可以避免由于java的单继承特性带来的局限
   3.增强了程序的健壮性,代码能够被多个线程共享,代码与数据时独立的

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
J_hom 中级黑马 2013-4-10 15:00:24
10#
实现Runnable接口比继承Thread类有如下的明显优点:
·适合多个相同程序代码的线程去处理同一个资源
·个以避免由于单继承局限所带来的影响
·增强了程序的健壮性,代码能够被多个线程共享,代码与数据是独立的。
所以开发中使用Runnable接口是最合适的。
线程的状态
多线程在操作中也是有一个固定的状态的:
·创建状态:准备好了一个线程对象:Thread t=new Thread();
·就绪状态:调用了start()方法,等待CPU进行调度;
·运行状态:执行run()方法;
·阻塞状态:暂时停止执行,可能将资源交给其他线程使用;
·终止状态:(死亡状态):线程执行完毕,不再使用了。

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马