JAVA中创建线程对象的两种方法:继承Thread和实现Runable
2012-09-03 16:36
1141 查看
1.通过继承Thread类创建线程
从Thread派生出一个新类,在其中加入属性和方法,同时覆盖run()方法。当创建这样一个派生类的新对象后,使用start()方法,即可启动该线程。
2.通过向Thread()构造方法传递Runnable对象来创建线程
其中Runnable对象是指实现了java.lang.Runnable接口的任何对象,Runnable接口只有一个方法:
pulic void run();
这个run()方法实际上就是线程所要执行的代码。
要启动线程在中的代码,只需要执行Thread类的start()方法,则系统会在可能的情况下去执行run()方法中所规定的代码。
两种方法的比较:
1直接继承Thread类:这种方法的特点是: 编写简单,可以直接操纵线程;但缺点也是很明显的,因为若继承Thread类,就不能再从其他类来继承了。
2使用Runnable接口:这种方法的特点是: 可以将Thread类与所要处理的任务的类分开,形成清晰地模型;还可以从其他类继承。
另外,若直接继承Thread类,在类中this即指当前线程;若使用Runnable接口,要在类中获得当前线程,必须使用Thread.currentThread()方法。
从Thread派生出一个新类,在其中加入属性和方法,同时覆盖run()方法。当创建这样一个派生类的新对象后,使用start()方法,即可启动该线程。
public class testThread { public static void main(String[] args) { Thread t = new MyThread(); //new 出新的线程对象 t.start(); //此对象直接start } } class MyThread extends Thread{ public void run(){ for(int i=0;i<100;i++){ System.out.println(" "+ i); } }
2.通过向Thread()构造方法传递Runnable对象来创建线程
其中Runnable对象是指实现了java.lang.Runnable接口的任何对象,Runnable接口只有一个方法:
pulic void run();
这个run()方法实际上就是线程所要执行的代码。
要启动线程在中的代码,只需要执行Thread类的start()方法,则系统会在可能的情况下去执行run()方法中所规定的代码。
public class testThread2 { public static void main(String[] args) { MyTask mytask = new MyTask(100); //new 出线程对象mytask Thread thread = new Thread(mytask); //由线程对象在new出thread线程对象 thread.start(); //最后new出的对象start } } class MyTask implements Runnable{ private int n; public MyTask(int n){ this.n = n; } public void run(){ for(int i=0; i<n; i++){ System.out.println(" "+ i) } } }
两种方法的比较:
1直接继承Thread类:这种方法的特点是: 编写简单,可以直接操纵线程;但缺点也是很明显的,因为若继承Thread类,就不能再从其他类来继承了。
2使用Runnable接口:这种方法的特点是: 可以将Thread类与所要处理的任务的类分开,形成清晰地模型;还可以从其他类继承。
另外,若直接继承Thread类,在类中this即指当前线程;若使用Runnable接口,要在类中获得当前线程,必须使用Thread.currentThread()方法。
相关文章推荐
- java两种启动线程方法根本不同,Thread继承和实现Runable接口
- 线程 创建和启动线程的两种方式 实现Runnable接口 继承Thread类 重写唯一方法run()
- Java中继承Thread和实现Runnable这两种创建线程有何区别
- Java中继承Thread和实现Runnable这两种创建线程有何区别
- Java【多线程知识总结(5)】比较继承Thread类创建线程和实现Runnable接口创建线程这两种方式
- 【转载】JAVA中线程的两种实现方法-实现Runnable接口和继承Thread类
- Java【多线程知识总结(5)】比较继承Thread类创建线程和实现Runnable接口创建线程这两种方式
- java创建多线程的两种方法(继承Thread类/实现Runnable接口)
- JAVA 线程的两种基本实现方法(继承Thread类和实现Runnable接口)
- Java传统多线程的实现有两种方法,继承Thread类或者实现Runnable即可.线程启动时调用start()方法.
- JAVA的线程对象实现的两种方法
- (44)通过继承创建线程对象的例子+getName+setName+currentThread()方法应用介绍
- java多线程学习1-继承Thread类和实现Runnable接口来创建线程
- JAVA中创建线程对象的两种方法
- JAVA 两种方法实现多线程(继承Thread和实现Runnable接口)
- 在java编程时,线程创建实现Runnable接口与继承Thread类的不同
- java实现多线程的两种方式继承Thread类和实现Runnable接口的方法
- 线程:创建线程有两种方式,一种是继承Thread类,另一种是实现Runnable接口。代码如下:
- 【Java多线程学习】Java多线程的两种实现方式:继承Thread类 & 实现Runable接口
- JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没