您的位置:首页 > 其它

14.2 线程创建的方式二:

2016-05-27 15:59 218 查看
方式一:
1、自定义一个类,该类继承Thread类。
2、重写Thread类的run方法,把自定义线程的代码放到run方法上。
3、创建Thread子类的对象,调用start方法,启动线程。

方式二:
1、自定义一个类实现Runnable接口。
2、实现Runnable接口的run方法,把自定义的线程代码放到run方法中。
3、创建runnable的实现类对象。
4、创建Thread类的对象,并且把runnable实现类的对象作为实参传递。
5、调用Thread对象的start方法开启一个线程。

问题1:请问Runnable实现类的对象是线程对象吗?
答:Runnable的实现类的对象并不是一个线程对象,其只不过是实现了Runnable的接口的对象而已。
只有Thread或者Thread子类的对象才睡线程的对象。

问题2:为什么要把Runnable的实现类的对象作为实参传递给Thread对象呢?作用是什么?
作用:就是把Runnable实现类的对象的run方法作为线程的任务代码去执行了。

对于这2种方式,推荐使用第二种,实现Runnable接口实现。因为java虚拟机类是单继承的。
class test implements Runnable{@Overridepublic void run() {System.out.println(Thread.currentThread());//在这里这2个对象不一样,Thread.currentThread()表示是Thread的对象。this则是表示test类的对象System.out.println(this);}}class wu{public static void main(String [] args){test t1 = new test();Thread th = new Thread(t1,"张三");th.start();}}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: