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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘永贵 中级黑马   /  2013-8-6 14:37  /  1055 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘永贵 于 2013-8-6 21:22 编辑

怎么实现多线程??

评分

参与人数 1黑马币 +3 收起 理由
杨兴庭 + 3

查看全部评分

3 个回复

倒序浏览
在Java当中实现多线程通常有两种方法。
  第一,创建一个类,继承Thread类,并复写run方法。需要启动一个新的线程时,首先创建该类的对象,然后调用start()方法,就可以使新线程进入就绪状态;
  第二,创建一个类,实现Runnable接口,并实现该接口当中的run方法。需要启动一个新的线程时,首先创建一个该类的对象,调用Thread类的构造函数,将该对象作为构造函数的参数传递进去,然后再调用Thread对象的start()方法,就可以使新线程进入就绪状态。

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
实现多线程有两种方式,一种是让一个类继承Thread类,另一种是让一个类实现Runnable接口。由于java语言单继承机制的限制,当一个类继承了另一个类的时候,就没有办法再继承Thread 类了,而java是支持多实现的,所以,后者应用的比较多。
开启一个线程的唯一方法是调用线程的start()方法.

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 龚首道 于 2013-8-6 14:48 编辑

两者的区别:
从本质上讲,Runnable是JAVA语言中用以实现线程的接口,任何实现线程功能的类都必须实现这个接口。
Thread类就是因为实现了Runnable接口,所以继承它的类才具有了相应的线程功能,但是由于在java语言中,只能继承一个类,如果用户定义的类已经继承了其他类,就无法再继承Thread类,也就无法使用线程,于是java语言为用户提供了一个接口.
java.lang.Runnable,实现Runnable这个接口与继承Thread类具有相同的效果,通过实现这个接口就可以使用线程。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马