java线程同时继承Thread实现Runnable
2011-02-10 23:35
337 查看
java线程有两种创建方式
第一种方式:使用Runnable接口创建线程
第二种方式:直接继承Thread类创建对象
使用Runnable接口创建线程
1.可以将CPU,代码和数据分开,形成清晰的模型
2.线程体run()方法所在的类可以从其它类中继承一些有用的属性和方法
3.有利于保持程序的设计风格一致
直接继承Thread类创建对象
1.Thread子类无法再从其它类继承(java语言单继承)。
2.编写简单,run()方法的当前对象就是线程对象,可直接操作。
在实际应用中,几乎都采取第一种方式
上边的是最明显的区别,但是我看到有笔试题会有一个类既继承了Thread又实现Runnable,问是否会出错什么的,今天突然想到了就打算查清楚,我还发现就是去查一个东西还是挺费劲的,百度半天也没找到(也估计是自己不会找),干脆直接在Eclipse里实验了一下,代码如下
public class TestThread extends Thread implements Runnable{
public void run(){
for(int i = 0;i<100;i++){
System.out.println("this is in the Test:"+i);
}
}
public static void main(String[] args){
TestThread t = new TestThread ();
Thread thread = new Thread(t);
thread.start();
}
}
还有把main方法中的调用改为
TestThread t = new TestThread ();
t.start();
两种调用都是正确的,编译和运行时都不会报错。
第一种方式:使用Runnable接口创建线程
第二种方式:直接继承Thread类创建对象
使用Runnable接口创建线程
1.可以将CPU,代码和数据分开,形成清晰的模型
2.线程体run()方法所在的类可以从其它类中继承一些有用的属性和方法
3.有利于保持程序的设计风格一致
直接继承Thread类创建对象
1.Thread子类无法再从其它类继承(java语言单继承)。
2.编写简单,run()方法的当前对象就是线程对象,可直接操作。
在实际应用中,几乎都采取第一种方式
上边的是最明显的区别,但是我看到有笔试题会有一个类既继承了Thread又实现Runnable,问是否会出错什么的,今天突然想到了就打算查清楚,我还发现就是去查一个东西还是挺费劲的,百度半天也没找到(也估计是自己不会找),干脆直接在Eclipse里实验了一下,代码如下
public class TestThread extends Thread implements Runnable{
public void run(){
for(int i = 0;i<100;i++){
System.out.println("this is in the Test:"+i);
}
}
public static void main(String[] args){
TestThread t = new TestThread ();
Thread thread = new Thread(t);
thread.start();
}
}
还有把main方法中的调用改为
TestThread t = new TestThread ();
t.start();
两种调用都是正确的,编译和运行时都不会报错。
相关文章推荐
- java中的通过继承Thread和实现Runnable接口实现的线程
- Java中继承Thread和实现Runnable这两种创建线程有何区别
- Java中继承Thread和实现Runnable这两种创建线程有何区别
- JAVA与多线程开发(线程基础、继承Thread类来定义自己的线程、实现Runnable接口来解决单继承局限性、控制多线程程并发)
- JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没
- java中的线程-继承thread-实现runnable接口以及线程同步
- Java【多线程知识总结(5)】比较继承Thread类创建线程和实现Runnable接口创建线程这两种方式
- Java【多线程知识总结(5)】比较继承Thread类创建线程和实现Runnable接口创建线程这两种方式
- Java传统多线程的实现有两种方法,继承Thread类或者实现Runnable即可.线程启动时调用start()方法.
- java多线程学习1-继承Thread类和实现Runnable接口来创建线程
- 【转载】JAVA中线程的两种实现方法-实现Runnable接口和继承Thread类
- Java中继承thread类与实现Runnable接口的区别(实现线程)
- Java线程演示样例 - 继承Thread类和实现Runnable接口
- 【Java基础_(线程篇_第一篇)】继承Thread;实现runnable;sleep、wait用法和区别;Thread和Runnable区别;线程停止
- JAVA 线程的两种基本实现方法(继承Thread类和实现Runnable接口)
- 在java编程时,线程创建实现Runnable接口与继承Thread类的不同
- Java中继承thread类与实现Runnable接口的区别
- java基础知识回顾之java Thread类--java线程实现常见的两种方式实现Runnable接口(二)
- Java中继承thread类与实现Runnable接口的区别
- Java中继承thread类与实现Runnable接口的区别