分享

java学习——110.实现Runnable接口

 pythonjava学习 2021-04-06

因为Java只支持单继承,如果已经继承了一个类,就不能再继承Thread类了,此时,要实现多继承,可以实现Runnable接口。

1、Runnable接口

Runnable接口就是为实现多线程的,它里面只声明了一个run()方法,声明如下:

public interface Runnable

{

    public abstract void run();

}

线程对象必须实现此run()方法来描述线程的所有活动及执行的操作,已实现的run()方法称为该线程对象的线程体。

2、示例

以上一篇的例子为例,改写为实现Runnable方法。

其完整代码如下:

public class ThreadLearn implements Runnable{

    int start,end;

    public ThreadLearn(int start,int end) {//此为构造方法,因为没有继承,所以不需super()

       this.start=start;

       this.end=end;

    }

    public void run() {//此为Runnable接口中的方法,可以被多个线程使用

       System.out.println("当前线程是:"+Thread.currentThread().getName());

       while(start<=end) {

           for(int i=1;i<=10;i++) {

              System.out.print(start+" ");

              start=start+2;

           }

           System.out.println();

       }

    }

    public static void main(String args[]) {

       System.out.println("当前线程是:"+Thread.currentThread().getName());

       ThreadLearn target1=new ThreadLearn(1,100);//创建类的一个对象

       ThreadLearn target2=new ThreadLearn(2,100);

       Thread odd=new Thread(target1,"奇数");//创建线程类的对象,target1为线程的目标对象,线程名为奇数

       Thread even=new Thread(target2,"偶数");//创建线程类的对象,target2为线程的目标对象,线程名为偶数

       odd.start();//启动线程

       even.start();

    }

}

其运行结果如下:

如果多运行几次,结果可能会不一样。

但是也有可能结果是一样的,由于线程的并发执行性,它的运行结果会有点“任性” 

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多