Java继承Thread类创建多线程

3人阅读 评论(0) 收藏 举报
分类:

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

查看评论

2-2-Java多线程-继承Thread类原理

继承Thread类原理继承Thread类 因为Thrad类描述线程事务,具备线程的基本功能 为什么不直接创建Thread类的对象 这么做没有错,但是该start方法调用的是thread类中的r...
  • qq_22841811
  • qq_22841811
  • 2016-11-20 22:08:32
  • 183

黑马程序员--Java多线程的两种实现方式:继承Thread类 & 实现Runable接口

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 创建和启动线程的两种传统方式: Java提供了线程类Thread来创建多线程的程序...
  • master_c
  • master_c
  • 2015-10-20 08:40:38
  • 843

多线程_继承Thread类的方式卖电影票案例

package cn.itcast_06; /* * 某电影院正在上映贺岁大片(情圣,超级快递),共有100张票,而他有3个窗品售票,请设置一个程序模拟该电影院售票。 * 继承Thread类实现 ...
  • L1585931143
  • L1585931143
  • 2017-03-11 20:04:19
  • 370

Java并发:创建线程的两种方法:继承Thread类和实现Runnable接口(一)

【1】了解进程与线程的概念 进程是一个程序在其自身的地址空间中执行一次活动,是资源申请、调度和独立运行的单位。 线程是进程中的一个单一的连续控制流程,一个进程可以包含一个或多个线程。 如果要在一个...
  • jingzi123456789
  • jingzi123456789
  • 2017-04-09 21:18:58
  • 1005

Java通过继承Thread类实现多线程 ,处理同一个共享资源

Java实现多线程,有两种方式:1.继承Thread类;2.实现Runnable接口。下面这个是通过继承Thread实现对共享资源的处理,供参考: public class TestThread {...
  • sd_zhangzheng
  • sd_zhangzheng
  • 2016-07-17 15:08:53
  • 1424

【Java多线程学习】Java多线程的两种实现方式:继承Thread类 & 实现Runable接口

一:Java实现多线程的方式有两种: 通过继承Thread类构造线程。Java定义了一个直接从根类Object中派生的Thread类,所有从这个类派生的子类或者间接子类,均为线程;实现一个Runa...
  • whuxiaoqiang
  • whuxiaoqiang
  • 2013-01-23 22:59:43
  • 9707

继承Thread类创建多线程

package 多线程; public class 继承Thread开启多线程 { public static void main(String[] args) { MyThread...
  • Hellotanbin
  • Hellotanbin
  • 2015-09-24 20:44:53
  • 1832

Java基础 - 多线程,两种实现方式(继承Thread,实现Runnable接口),设置获取名字,同步代码块、方法,死锁

Java基础 - 多线程,两种实现方式(继承Thread,实现Runnable接口),设置获取名字,同步代码块、方法,死锁...
  • mythmayor
  • mythmayor
  • 2017-05-27 11:18:53
  • 560

多线程实现方式1:自定义一个类,继承Thread类,并重写run方法。

/** * 多线程实现方式1: * 自定义一个类,继承Thread类,并重写run方法。 * @author jiaxutianhuo * */ public class XianCheng...
  • qq_36872096
  • qq_36872096
  • 2017-08-18 15:56:26
  • 598

java并发编程---如何创建线程以及Thread类的使用

1、Java中关于应用程序和进程相关的概念   在Java中,一个应用程序对应着一个JVM实例(也有地方称为JVM进程),一般来说名字默认为java.exe或者javaw.exe(windows下可...
  • hla199106
  • hla199106
  • 2015-08-21 21:24:11
  • 1585
    个人资料
    持之以恒
    等级:
    访问量: 40万+
    积分: 1万+
    排名: 622