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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© shaoboguanzi 中级黑马   /  2015-1-22 19:52  /  672 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一、创建线程的第一种方法:
(1)继承thread类。
(2)覆盖其run方法。
(3)调用start方法作用:1,启动线程2,执行线程。
2,代码
class xian extends Thread
{
public void run()
{
for(int i=0;i<500;i++)
{
System.out.println("nihao");
}
}
}
二、第二种方法:通过接口implement实现runnable方法。
(1)定义类实现runnable接口类似于runtimeexception。
(2)覆盖runnable接口中的run方法。
将线程将要运行的代码存放在该run方法中。
(3)通过thread创建线程对象。
(4)将runnable接口中的子类对象作为实际参数传递thread类的构造函数。new Thread (c);
因为自定义的run方法所属对象是runnable接口的子类对象,所以要是线程去执行指定对象的run方法。就必须明确该run方法所属对象。
(5)通过调用thread的start方法开启线程。
三、实现与继承的区别?
1,实现方式好不避免了单继承的局限性。在定义线程是一般使用实现方式。
2,两者线程代码存放位置不同。
实现方式:一种线程代码存放在接口的子类中
继承线程代码存放在thread类中。

1 个回复

倒序浏览
学习学习.....~~赞一个
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马