线程入门之实现Runnable接口和继承Thread类

时间:2023-03-09 23:48:41
线程入门之实现Runnable接口和继承Thread类

线程的2种使用方式:实现Runnable接口和继承Thread类

1.实现Runnable接口

实现Runnable接口,必须实现run方法,也是Runnable接口中的唯一一个方法

class Runner1 implements Runnable
{
    public void run()
    {
        for (int i = 0; i < 20; i++)
        {
            System.out.println("Runner1:"+i);
        }
    }
}
Runner1:0
Runner1:1
Runner1:2
Runner1:3
Runner1:4
Runner1:5

2.继承Thread类

看一下java的api文档,发现Thread类也是实现了Runnable接口,不过是在Thread类里面自己新加了一些自己的东西

class Thread1 extends Thread
{
    public void run(){
        for (int i = 0; i < 50; i++)
        {
            System.out.println("Thread1:"+i);
        }
    }
}

那么,到底使用哪一种方法好呢?

当然,我们在工作中都会用接口编程,面向接口,是一种很灵活的编程思想,所以最好能使用到Runnable接口,使得更加灵活方便。

最好,定义一个Runnable实现类,然后放到Thread的构造方法,这样我们可以使用很多Thread的自定义方法。

   public static void main(String[] args)
    {
        Runner1 r = new Runner1();
        Thread thread = new Thread(r);

        thread.start();

    }
}

class Runner1 implements Runnable
{
    public void run()
    {
        for (int i = 0; i < 20; i++)
        {
            System.out.println("Runner1:"+i);
        }
    }
}