飞奔的兔子

久坐等于慢性自杀,每天多运动多锻炼

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()方法,可以同时执行,互不影响

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/nangeali/article/details/79954921
个人分类: ————Java EE
上一篇Java实现多线程
下一篇Java实现Runnable接口创建多线程
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭