当前位置:首页 > 开发 > 编程语言 > 多线程 > 正文

线程的2种实现方式

发表于: 2015-03-11   作者:chenyi84   来源:转载   浏览次数:
摘要: 1.继承Thread类声明一个内部(外部)类,假如名字叫做 Thread1,继承Thread类,重写(Override)其中的run方法。定义一个类,里面再定义一个Thread1类型的对象,调用start()方法。举个例子吧: public class ThreadTest1 { public static void main(String[] args){ Thread1 t1 =

1.继承Thread类

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

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

举个例子吧:

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类,你就不能再继承了。

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

线程的2种实现方式

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
3.1 使用ThreadStart委托 这里先以一个例子体现一下多线程带来的好处,首先在Message类中建立一个方
  在许多应用中需要频繁的创建许多生命周期很短的线程,如果用传统方法的话就会造成大量的资源了
进程:执行中的程序(程序是静态的概念,进程是动态的概念)。
new Thread(new Runnable(){ @Override public void run() { // TODO Auto-generated method stub }
Quartz是运用最广的任务调度框架,它最核心的组成部分是Scheduler、Trigger、JobDetail,然后给Sche
Thread.Start(),ThreadPool.QueueUserWorkItem都是在实现多线程并行编程时常用的方法。两种方式有
1.Java新建线程的方式:实现Runnable接口,或者继承Thread类。简单代码示例如下: 实现Runnable接口
前段时间仔细看过些关于多线程方面的资料,项目中用到线程的地方也不少,可是,当看了Jeffrey的一篇
最近做页面的时候经常会遇到弹出框居中的问题, 请教了一下身边的大牛,终于弄出来了, 实现的原理
在做企业级应用的时候会有很多的系统配置和 SQL语句需要编写。按照平常的做法是写在代码中,以接口
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号