一个进程中可以有多个线程,比如你可以同时和两个女生聊天

在JAVA中提供了两种多线程的实现方式,一种是继承java.lang包下的Thread类,覆写Thread类的run()方法,在run()方法中实现运行在线程上的代码。

另一种是实现java.lang.Runnable接口,同样是在run()方法中实现运行在线程上的代码。

这一篇先介绍第一种方法,下一篇介绍第二种方法和第二种方法的优点和必要性。如有不同意见,请留言,请指教。

package xiancheng;
/*
 * 一个人可以边听音乐,边打扫房间,边吃饭,边看电视。每一件事好比于一个线程,java支持多线程
 * 多任务操作系统中,表面上支持进程并发执行,例如可以一边听音乐,一边聊天,但实际上这些进程不是同时运行的
 * 因为所有的应用程序都是由CPU执行的。对于一个CPU而言,某个时间点只能运行一个程序,也就是说只执行一个进程。
 * CPU在极短时间内在不同的进程之间进行切换,所以给人们以同时多个程序的感觉
 * 一个进程有可以多个线程
 * 例如,在一个java程序启动时,会产生一个进程,该进程中会默认创建一个线程,在这个线程上运行main()方法中的代码
 * 前面的学习中,代码都是按顺序依次往下执行的,没有出现两段程序代码交替运行的效果这样的程序是单线程程序。
 * 如果希望程序中实现多端程序代码交替运行的效果,则需要创建多个线程,即多线程程序,即一个进程执行过程中可以产生多个单线程。
 * java程序中如何实现多线程呢?有两种方式,一是继承java.lang包下的Thread类,重写Thread类的run()方法,在run()方法中实现运行在线程上的代码。
 * 二是实现java.lang.Runnable接口,同样是在run()方法中实现运行在线程上的代码。
 */
public class XianChengDemo {
    /*
//    为了能让两个while并发执行,就需要多线程,为此JDK提供了一个线程类Thread,通过继承Thread类,并重写Thread类中的run()方法,就可以实现多线程。
//    在Thread类中,提供了一个start()方法,用于启动新线程。eg:
    public static void main(String[] args) {
        MyThread m = new MyThread();//创建MyThread实例对象
        m.start();//调用MyThread类的start()方法,开启线程。
        while(true) {//该循环是一个死循环,打印输出语句
            System.out.println("Main方法在运行");
        }
    }
}

class MyThread extends Thread{
    public void run() {
        while(true) {//该循环是一个死循环,打印输出语句
            System.out.println("MyThread类的run()方法在运行");
        }
    }
}
*/

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

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

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

  2. 继承Thread类创建线程类

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

  3. Java继承Thread类创建多线程

    Java继承Thread类创建多线程 单线程示例 示例,Example01.java public class Example01{public static void main(String[] a ...

  4. 继承Thread类使用多线程

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

  5. 继承thread类创建线程

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

  6. 【Java多线程】实现Runnable接口方式 / 继承Thread类方式;使用synchronized锁实现线程安全;线程安全的懒汉式单例模式;死锁问题示例

    Thread 的生命周期 一.实现Runnable接口方式 1.在 run 方法中使用 synchronized 块 /*** 例子:创建三个窗口卖票,总票数为100张.使用实现Runnable接口的 ...

  7. android 如何extends 多个,Android多线程:继承Thread类 使用解析(含实例教程)

    前言 在Android开发中,多线程的使用十分常见 今天,我将全面解析多线程其中一种常见用法:继承Thread类. 目录 示意图 1. 简介 示意图 2. 使用讲解 2.1 使用步骤 示意图 2.2 ...

  8. java基础 通过继承Thread类和实现Runnable接口创建线程

    java 创建线程 Java中,线程也是一种对象,但不是任何对象都可以成为线程. 只有实现了Runnable接口或继承了Thread类的对象才能成为线程. 继承Thread类 //格式: class ...

  9. 创建线程的两种方式:继承Thread类和实现Runnable接口

    第一种方式:继承Thread类 步骤:1.定义类继承Thread 2.覆写Threa类的run方法. 自定义代码放在run方法中,让线程运行 3.调用线程的star方法, 该线程有两个作用:启动线程, ...

  10. java线程如何继承,java多线程(一)之继承Thread类

    一.概述 进程:正在执行的应用程序 线程:进程的执行单元,执行路径 单线程:一个应用程序只有一条执行路径 多线程:一个应用程序有多条执行路径 二.两种实现方式, 下面为第一种方式: 继承Thread类 ...

最新文章

  1. pip、NumPy、Matplotlib在Windows上的安装过程
  2. 疯狂java讲义之流程控制与数组
  3. SAPScript和Smartform双面打印
  4. python第二版第六章课后答案_《Python编程》第六章部分课后练习题
  5. 深度学习(三十七)——CenterNet, Anchor-Free, NN Quantization
  6. 无法打开登录所请求的数据库DbName 。登录失败。 用户 'IIS APPPOOL\DefaultAppPool' 登录失败。 的解决方案...
  7. fedora16 解码方案
  8. codable swift_使用Codable进行Swift JSON解析
  9. 微信开发值得推荐的开源项目
  10. 解决Myeclipse中断点不起作用的方法
  11. 官方澄清丨Gartner并未组织评选OpenStack八大厂商
  12. 罗马数字 java_Java算法练习——整数转罗马数字
  13. 手机H5-调用百度地图导航
  14. iphone 升级后闪退
  15. c语言bellman算法,深入理解Bellman-Ford(SPFA)算法
  16. iPhone开发 获取系统时间 星期 年 月 日 时 分 秒
  17. 量化(3): 量化校准
  18. 在python语言中ipo模式不包括_下面不是IPO模式的一部分的是()_学小易找答案
  19. 一道思考题(二进制枚举的应用的想法)切金条
  20. 动态规划之钱币兑换问题

热门文章

  1. Android R 设置壁纸流程和 Launcher 闪烁问题
  2. 我的Python心路历程 第十期 (10.12 股票实战可视化之分位数)
  3. %几.几//C语言(闲的没事,记录下)
  4. java halt_Java Runtime halt()方法
  5. 已知接入Internet的计算机用户名,计算机一级笔试试题及答案(1)
  6. 关于CS1.6中模型导出到3dsmax
  7. 怎么将计算机的触摸鼠标锁定,这4种方法可以轻松关闭笔记本锁定触控板
  8. 报错 [Error] expected primary-expression before ‘)‘ token
  9. android手机如何截屏,安卓手机怎么截屏(华为手机的几种截图方法)
  10. Html 使 tbody加上滚动条