实现Runnable接口和扩展Thread类

原创 2012年03月29日 21:11:20

    创建一个其中能运行线程的新类,有两种方式:一种方式是扩展java.lang.Thread类,另一种方式是扩展任意类,并实现接口Runnable。

 (1)扩展java.lang.Thread类

public class TwoThread extends Thread {
   //当启动一个新线程时,程序的入口是run()方法。在从刚刚调用run()方法之时到run()刚刚返回之时,新线程看做是存活的。
   //run()方法返回之后,该线程消亡,线程消亡后就不能再重新启动。
         public void run() {
		for ( int i = 0; i < 2; i++ ) {
			System.out.println("New thread");
		}
	}

	public static void main(String[] args) {
		TwoThread tt = new TwoThread();  //新线程有已经运行的线程创建,首先,必须构建一个新的Thread实例。
		tt.start();        //TwoThread对象调用start()方法,开始线程的执行。其中start()方法继承于Thread
                             //新创建的线程可以在调用start()方法后的任意时刻开始执行(进入run方法),这意味着,在执行start()方法之后的任何语句前,原始线程可能被交换出来。
		for ( int i = 0; i <2 ; i++ ) {
			System.out.println("Main thread");
		}
	}
}
可能输出如下:



Runnable接口与Thread类的区别

什么时候让线程实现Runnable接口,什么时候让线程继承Thread类? JDK帮助文档中的原话:Runnable 接口应该由那些打算通过某一线程执行其实例的类来实现 (不明白是啥意思) 孙鑫...
  • colder2008
  • colder2008
  • 2013年12月27日 17:35
  • 1576

实现Runnable接口相对于继承Thread类的优点

适合多个相同程序代码的线程去处理同一个资源可以避免由于Java的单继承性带来的局限性增强了程序的健壮性,代码能够被多个线程共享,代码与数据是独立的。...
  • h369262674
  • h369262674
  • 2016年06月27日 21:46
  • 1034

何时继承Thread类何时选择实现Runnable接口

差别 1.继承thread的类,在创建它的对象时,创建两个thread,他们各自执行各自的进程,互不干扰,Thread类当中的数据也是彼此独立。 但是在Runnable中,创建一个实现了Runna...
  • D_inosaur
  • D_inosaur
  • 2017年03月17日 17:12
  • 435

Thread类与Runnable接口的区别

Java中线程的创建有两种方式:   1.  通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2.  通过实现Runnable接口,实例化Thread类     ...
  • shenxiaoming77
  • shenxiaoming77
  • 2014年02月13日 10:34
  • 1503

多线程——Java中继承Thread类与实现Runnable接口的区别

线程我只写过继承Thread类的,后来知道java多线程有三种方式,今天首先比较一下常用的继承Thread类和实现Runnable接口的区别。               按着Ctrl键进入Threa...
  • xdd19910505
  • xdd19910505
  • 2016年02月24日 18:27
  • 5878

JAVA 线程的两种基本实现方法(继承Thread类和实现Runnable接口)

线程的两种基本实现方法: 1.继承Thread类 2.实现Runnable接口 推荐使用Runnable接口,基于以下四点: 1.使用 Runnable 接口适合多个相同程序代码的线程去处理同一资...
  • Raito__
  • Raito__
  • 2014年12月18日 16:53
  • 1320

thread类与Runnable接口的区别

Java中线程的创建有两种方式:1. 通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中2. 通过实现Runnable接口,实例化Thread类在实际应用中,我们经...
  • andloves
  • andloves
  • 2015年10月06日 21:50
  • 372

一道小测试题,一个线程既实现了Runnable接口又继承Thread方法

今天开学第一天,进行了一次小测验,有道题目是这样的 public class Test extends Thread implements Runnable { @Override pu...
  • wangbaokangfei
  • wangbaokangfei
  • 2012年08月10日 22:51
  • 3617

实现Runnable接口和扩展Thread使用场景

我们知道创建子线程的两个方式:实现Runnable接口和扩展Thread。 扩展Thread类和实现Runnable接口的使用场景: Thread类定义了派生类可以重写的几个方法。在这些方法中,只有一...
  • li898445911a
  • li898445911a
  • 2013年09月06日 20:05
  • 1395

Java 继承Thread类和实现Runnable接口的区别

ava中线程的创建有两种方式: 1.  通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2.  通过实现Runnable接口,实例化Thread类     在...
  • xiangzhihong8
  • xiangzhihong8
  • 2016年06月13日 23:28
  • 1948
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:实现Runnable接口和扩展Thread类
举报原因:
原因补充:

(最多只允许输入30个字)