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

Java继承Thread类创建多线程相关推荐

  1. html解析图片url,并用继承Thread类的多线程下载

    html解析图片url,并用继承Thread类的多线程下载 pom依赖 Java代码 把对应网页的img元素,通过继承Thread类的多线程下载下来. pom依赖 <dependencies&g ...

  2. 多线程介绍与threading模块应用以及使用Thread类创建多线程

    1.多线程: 多线程是为了同步完成多项任务,不是为了提高运行效率,而是为了提高资源使用效率来提高系统的效率.线程是在同一时间需要完成多项任务的时候实现的. 最简单的比喻多线程就像火车的每一节车厢,而进 ...

  3. 继承Thread类创建线程类

    一 点睛 通过继承Thread类创建线程并启动多线程的步骤: 1 定义Thread的子类,并重写该类的run()方法,该run()方法的方法体代表了线程需要完成的任务.因此run()方法称为线程执行体 ...

  4. 继承Thread类实现多线程简单实例

    继承Thread类实现多线程简单实例 文章目录 继承Thread类实现多线程简单实例 一.多线程的意义 二.多线程的创建 三.代码 一.多线程的意义 1.为什么要使用多线程 (a)提高用户体验或者避免 ...

  5. 多线程Thread类创建多线程

    package com.ajax; //多线程Thread类创建多线程 public class Example02 {public static void main(String[] args){n ...

  6. 继承Thread类使用多线程

    java实现多线程有两种方式,一种是继承Thread类,另外一种就是实现Runnable接口. 两种实现方法的优缺点: 使用Thread类实现多线程局限性就是不支持多继承,因为java是不支持类多继承 ...

  7. 多线程之继承Thread类及多线程内存分析

    *创建多线程的一种方式:继承Thread类 * java.lang.Thread是描述多线程的类,要实现多线程程序,一种方式就是继承Thread类 * 1.创建一个类Mythread让其extends ...

  8. 继承thread类创建线程

    package com.learn;//1. 继承thread类,重写run方法,run方法中,需要线程执行代码 class ThreadDemo01 extends Thread {// run方法 ...

  9. 线程的应用-继承Thread类创建线程

    Thread类本质上是实现了Runnable接口的一个实例,代表一个线程的实例.启动线程的唯一方法就是通过Thread类的start()实例方法.start()方法是一个native方法,它会启动一个 ...

最新文章

  1. linux视频教程百度网盘分享,Java集合基础知识总结(绝对经典
  2. opensuse 12.1 启动脚本
  3. 行业 | 调查:移动游戏盈利60%来源于0.23%付费玩家
  4. 第一章第一个c#程序上机_我从第一个#100DaysOfCode中学到的东西
  5. 【Python基础知识-pycharm版】第七节-函数
  6. 田渊栋:博士五年总结
  7. 匿名函数 lambda
  8. openwrtx 安装无线_面向工业物联网的远距离无线输电技术
  9. 每个国家对应的语言Locale和国家代码对照表(转)
  10. mysql如何提高查询效率_MySQL调优系列——如何提高MySQL的查询效率
  11. 开涛的博客 spring
  12. 万字长文总结Android多进程,大厂直通车!
  13. IAR Embedded Workbench 将支持 RISC-V 太空级处理器 NOEL-V
  14. win10 蓝牙无法删除 完美解决方案
  15. wireshark抓组播数据_wireshark过滤?wireshark 看端口号?wireshark组播包?WireShark 过滤语法...
  16. 【神经网络】神经网络中的矩阵的理解
  17. numpy和panda快速入门
  18. JAVA小项目(1)——租车系统
  19. csdn 如何查看自己博客的积分
  20. 基于CYK+PCFG的短语结构句法分析

热门文章

  1. Codeforces Round #433(Div. 2) D. Jury Meeting(贪心)
  2. NHibernate部分错误
  3. html对象属性大全
  4. STM32使用非8M晶振时如何修改代码
  5. 中断嵌套引起的问题记录
  6. java商品展示页面代码_java学习(十四)实现商品的展示、curd以及分页展示
  7. 微众WeCross 跨链平台(11)系统总结
  8. C++ Primer 5th笔记(chap 14 重载运算和类型转换)lambda函数对象
  9. C++ Primer 5th笔记(chap 12 动态内存)动态数组
  10. MIMIC 以太坊医疗项目开发(6)Web3智能合约API