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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jlq 中级黑马   /  2015-10-29 11:27  /  513 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

第一种:继承Tread类。
步骤:
1)定义类继承Thread
2)复写Thread类中的run()方法
复写run()方法的目的:将自定义代码存储到 run方法中,让线程运行。
3)调用线程的start方法(start:启动线程,调用run方法)
第二种方式:声明实现Runnable接口,该类然后实现run方法().然后可以分配该类的一个实例,在创建Thread时作为参数传递并启动。
                    Runnable接口应该有那些打算通过某一线程执行其实例的类来实现 ,类必须定义一个称为run的无参方法。
步骤:
1)定义类实现Runnable接口
2)覆盖Runable接口中的run方法
将线程要运行的代码存放在run方法中。
3)通过Thread类建立线程对象
4)将Runnable接口的子类对象作为实际参数传递给Thread类的构造函数。
为什么将Runable接口的子类对象作为实际参数传递给Thread类的构造函数。 ?
因为自定义run方法所属的对象是Runnable接口的子类对象,
所以要让接口去执行指定对象的run方法。就必须明确该方法所属的对象。
5)调用Thread类的start方法开启线程并调用Runnable接口子类的run方法。

2 个回复

倒序浏览
实现runnable
回复 使用道具 举报
什么时候用Runnable?什么时候用Thread
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马