Java学习笔记68. 通过Runnable接口创建多线程

我们知道,Java中是不允许多重继承的,有的类需要继承某些特性,同时也需要创建多线程。这样,就不能同时继承Thread类了。为了应对这种情况,java中可以运用Runnable接口来创建多线程,其语法如下:

class 类名称 implements Runnable{
    属性;
    方法;
    修饰符 run(){
        以线程处理的程序;
    }
}

我的理解是,线程就好像是一个容器,容器里面是对象,对象里面有run方法。这是一个3重的包含的关系。启动的是线程,而通过接口实现的对象,是线程的参数。线程最终运行的是对象的run方法,即实际的运行代码,以线程来处理的程序。

如果是以线程对象来启动的线程,则省略了一层,直接把run方法在线程这个容器里面执行起来就行了。当然,是通过start方法。而不是run方法,直接通过run方法也能执行相应的代码,但是线程却没有启动。这是有概念上的区别的。下面的代码展示了通过接口创建的多线程:

class newThread implements Runnable{    //使用接口实现一个拥有run方法的对象
    public void run(){    //覆盖run方法,写入要用线程处理的代码
        for(int i=1;i<=5;i++)
            System.out.println("This is a new thread.");
    }
}
public class demoThread{    //测试类
    public static void main(String[] args){
        newThread n = new newThread();    //创建实现了线程的接口的对象
        new Thread(n).start();    //将此对象作为参数,来创建thread对象,并使用start方法启动此线程
        for(int i=1;i<=5;i++)    //测试类的静态主方法内的执行语句
            System.out.println("This is the original thread.");
    }
}

下面来编译执行

可以看到,两个线程是交替执行的。并非顺序执行。充分证明了start方法启动了线程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值