您的位置:首页 > 编程语言 > Java开发

java#2 线程的两种创建方式

2012-07-20 19:11 597 查看
java中线程的创建有两种方式:继承Thread类和实现Runnable接口

一、通过继承Thread类来创建线程类:

步骤1、定义Thread类的子类,并重写该类的run方法,该run方法是该线程的执行体

             代表了线程需要完成的任务。

步骤2、创建Thread子类的实例,即创建线程对象。

步骤3、用线程对象的start方法来启动该线程。

 

public class ThreadOne extends Thread{

       private int i;

       public void run(){

              //重写run方法,run方法的方法体是线程的执行体。

              //如果想获取当前线程,直接用this即可。

              //Thread对象的getName()方法可返回该线程的名字。

       }

       public static void main(){

              //调用Thread的currentThread方法获取当前线程

              //创建并启动一条线程。

              new ThreadOne().start();

       }

}

 

二、通过实现Runnable接口来创建线程类:

步骤1、定义Runnable接口的实现类,并重写该接口的run方法。该run方法的方法体

             同样是该线程的线程执行体。

步骤2、创建Runnable实现类的实例,并以此实例作为Thread的target来创建Thread

             对象,该Thread对象才是真正的线程对象。

 

public class ThreadTwo implements Runnable{

       private int i;

       public void run(){

              //如果想获取当前线程,只能用Thread.currentThread()方法。

       }

       public static void main(String[] args){

              ThreadTwo st = new ThreadTwo();

               new Thread(st,"新线程").start();

       }

}

 

三、两种线程创建方式的比较:

       1、实现Runnable接口方式:优势:线程只是实现了Runnable接口还可以继承其它的类,多个线程共享同一个target对象,所以非常适合多个线程来处理同一份资源的情况;劣势:编程稍复杂,如果需要访问当前线程,必须使用Thread.currentThread()方法。

        2、继承Thread类的实现方式:优势:编写简单,如果需要访问当前线程,直接使用This即可;劣势:已经继承了Thread类,不能再继承其它的类。

        3、几乎所有的多线程的应用都可以采用实现Runnable接口的方式实现。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: