Java继承Thread类创建多线程

Java继承Thread类创建多线程

单线程示例

示例,Example01.java

public class Example01{
    public static void main(String[] args){
        // 创建MyThread实例对象
        // 调用MyThread类的run()方法在运行
        // 该循环是一个死循环,打印输出语句
        MyThread myThread=new MyThread();
        myThread.run();
        while(true){
            System.out.println("Main方法在运行");
        }
    }
}
class MyThread{
    public void run(){
        while (true){
            // 该循环是一个死循环,打印输出语句
            System.out.println("MyThread类的run()方法在运行");
        }
    }

}

编译运行
这里写图片描述
可以看出,程序一直在打印MyThread类的run()方法
因为,该层序是一个单线程程序,当调用MyThread类的run()方法时,遇到死循环,程序会一直进行,因此,MyThread类的打印语句,将永远执行,在main()方法中的打印语句,无法得到执行

多线程示例

如果,希望两个while循环中的打印语句,能够并发执行,就需要实现多线程
为此,JDK中提供了一个线程类Thread,通过继承Thread类,并重写Thread类中的run()方法,便可实现多线程
在Thread类中,提供了一个start()方法,用于启动新线程,线程启动之后,系统会自动调用run()方法
示例,Example02.java

public class Example02{
    public static void main(String[] args){
        // 创建线程MyThread的线程对象
        // 开启线程
        // 通过死循环语句打印输出
        MyThread myThread=new MyThread();
        myThread.start();
        while(true){
            System.out.println("main()方法在运行");
        }
    }
}
class MyThread extends Thread{
    public void run(){
        while(true){
            System.out.println("MyThread类的run()方法在运行");
        }
    }

}

编译运行
这里写图片描述
可以看出,两个while循环中的打印语句在轮流执行,说明,该示例实现了多线程

单线程

程序在运行时,会按照代码的调用顺序进行执行

多线程

main()方法和MyThread类的run()方法,可以同时执行,互不影响

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值