线程的2种实现方式_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 线程的2种实现方式

线程的2种实现方式

 2015/3/11 21:15:30  chenyi84  程序员俱乐部  我要评论(0)
  • 摘要:1.继承Thread类声明一个内部(外部)类,假如名字叫做Thread1,继承Thread类,重写(Override)其中的run方法。定义一个类,里面再定义一个Thread1类型的对象,调用start()方法。举个例子吧:publicclassThreadTest1{publicstaticvoidmain(String[]args){Thread1t1=newThread1();t1.start();}}classThread1extendsThread
  • 标签:实现 方式 线程

1.继承Thread类

声明一个内部(外部)类,假如名字叫做 Thread1,继承Thread类,重写(Override)其中的run方法。

定义一个类,里面再定义一个Thread1类型的对象,调用start()方法。

举个例子吧:

class="java">public class ThreadTest1 {
public static void main(String[] args){
    Thread1 t1 = new Thread1();
    t1.start();   
}
}

class Thread1 extends Thread{
    @Override   
    public void run(){
        for(int i=0;i<100;i++){
            System.out.println("Thread 111111-------"+i);
        }
    }
}

?2.实现Runnable接口


声明一个内部(外部)类,假如名字叫做MyThread,实现Runnable接口,实现其中的run方法。

定义一个类,里面定义一个Thread类型的对象,把MyThread的对象当作参数传递进去,调用start方法。

public class ThreadTest2 {
public static void main(String[] args){
    MyThread mt = new MyThread();
    Thread t2 = new Thread(mt);
    //上面2行可以写成 Thread t2 = new Thread(new MyThread());
    t2.start();  
}
}

class MyThread implements Runnable{
    @Override   
    public void run(){
        for(int i=0;i<100;i++){
            System.out.println("Thread 22222-------"+i);
        }
    }
}

?3.比较一下两种方法吧


我自己理解来看,实现Runnable接口的代码更健壮。

原因很简单,java是单继承的,从长远假设来看,也许这个类改天想干点其它的事情,必须再继承某个类,因为你已经继承了Thread类,你就不能再继承了。

接口之所以灵活就在于,你可以实现多个接口,而且实现接口了还可以继续继承一个类,所以呢,给程序员带来更大的灵活性。

发表评论
用户名: 匿名