继承Thread类创建线程类
一 点睛
通过继承Thread类创建线程并启动多线程的步骤:
1 定义Thread的子类,并重写该类的run()方法,该run()方法的方法体代表了线程需要完成的任务。因此run()方法称为线程执行体。
2 创建Thread子类的实例,即创建子线程对象。
3 调用线程对象的start()方法来启动该线程。
二 代码
// 通过继承Thread类来创建线程类
public class FirstThread extends Thread
{private int i ;// 重写run方法,run方法的方法体就是线程执行体public void run(){for ( ; i < 100 ; i++ ){// 当线程类继承Thread类时,直接使用this即可获取当前线程// Thread对象的getName()返回当前该线程的名字// 因此可以直接调用getName()方法返回当前线程的名System.out.println(getName() + " " + i);}}public static void main(String[] args){for (int i = 0; i < 100; i++){// 调用Thread的currentThread方法获取当前线程System.out.println(Thread.currentThread().getName()+ " " + i);if (i == 20){// 创建、并启动第一条线程new FirstThread().start();// 创建、并启动第二条线程new FirstThread().start();}}}
}
三 运行
......
main 20
main 21
main 22
Thread-0 0
main 23
Thread-1 0
main 24
Thread-0 1
main 25
Thread-1 1
main 26
Thread-0 2
main 27
Thread-1 2
main 28
......
四 说明
1 虽然程序只显示地创建并启动了2个线程,但实际上有3个线程,因为还有一个主线程。main()方法的方法体代表主线程的线程执行体。
2 Thread-0和Thread-1两个线程输出的i变量不连续。这是因为每次创建线程对象都需要创建一个FirstThread对象,所以Thread-0和Thread-1不能共享该实例变量。
3 使用继承Thread类的方法来创建线程时,多个线程之间无法共享线程类的实例变量。
继承Thread类创建线程类相关推荐
- Thread类创建线程
目录 1.在java中执行多线程编辑 1.1通过Thread类创建线程 1.2创建线程方法2 1.3创建线程方法3 1.4创建线程方法4 1.5创建线程方法5 2.多线程执行效率 2.1两个变量同时自 ...
- Java中创建线程需要使用的类_如何通过使用Java中的匿名类创建线程?
甲线程是可以同时与该程序的其他部分被执行的功能.所有Java程序都有至少一个称为主线程的线程,该线程由Java虚拟机(JVM)在程序启动时由主线程调用main()方法创建. 在Java中,我们可以通过 ...
- 【 Thread】创建线程的2种方法
(一)Thread类 1.结构 java.lang.Object |---java.lang.Thread 2.创建线程的两种方法 (1)一种方法是将类声明为Thread的子类,该子类应重写Threa ...
- 继承thread类创建线程
package com.learn;//1. 继承thread类,重写run方法,run方法中,需要线程执行代码 class ThreadDemo01 extends Thread {// run方法 ...
- java 创建线程thread_初学Java多线程:用Thread类创建线程
在Java中创建线程有两种方法:使用Thread类和使用Runnable接口.在使用Runnable接口时需要建立一个Thread实例.因此,无论是通过Thread类还是Runnable接口建立线程, ...
- C++多线程:thread类创建线程的多种方式
文章目录 描述 函数成员简介 总结 描述 头文件 <thread> 声明方式:std::thread <obj> 简介 线程在构造关联的线程对象时立即开始执行,从提供给作为构造 ...
- 13.6 Thread类自定义线程类
package cn.chen.thread; /** * 线程:* 多线程:* 一个java程序只是有两个线程:* 一个是主线程负责main方法代码执行,一个是垃圾回收器线程,负责* 创建线程的方式 ...
- 【Groovy】MOP 元对象协议与元编程 ( Expando 动态类 | 创建动态类 | 为动态类增加字段和方法 )
文章目录 一.Expando 动态类简介 二.动态类创建 三.为动态类增加字段和方法 四.完整代码示例 一.Expando 动态类简介 Groovy 运行时 , 可以动态地创建一个类 , 该类称为 & ...
- 线程的应用-继承Thread类创建线程
Thread类本质上是实现了Runnable接口的一个实例,代表一个线程的实例.启动线程的唯一方法就是通过Thread类的start()实例方法.start()方法是一个native方法,它会启动一个 ...
最新文章
- Windwos 08R2_DNS全面图文详解
- 什么才是软件开发的葵花宝典?
- Boost:以协程的方式实现echo服务器的实例
- 51nod 1414 冰雕 思路:暴力模拟题
- 诺基亚对塞班的支持将持续到2016年
- 19、mysql中定时器的创建和使用
- 2018-11-02 在代码中进行中文命名实践的短期目标
- solr elasticsearch比较
- Leetcode 142 Linked List Cycle II
- 2013 年亚洲赛杭州赛区卡题总结
- NumPy Cookbook 带注释源码 四、连接 NumPy 与 剩余世界
- excel填充序列_零基础、初学者必须掌握的10个Excel技巧,办公必备!
- 【TGRS】Ship Detection in Large-Scale SAR Images Via Spatial Shuffle-Group Enhance Attention译读笔记
- java计算机毕业设计辅导员班级量化管理系统MyBatis+系统+LW文档+源码+调试部署
- Json汉化-使用JavaScript和百度翻译API免费实现Json文件的汉化
- echarts中环形图加边框
- Android N 指纹框架
- Apache ShenYu ModifyResponse插件使用
- 【Java语言】项目实践:汽车租赁系统(源码)(面向对象方法)
- 2.8.1 矩阵的合同