java多线程基础四——currentThread()方法使用案例说明、run()和start()的区别

2023-05-16

简单讲一下currentThread()方法的作用:
该方法可返回代码段正在被哪个线程调用的信息,这个方法在前面的几个内容里面也有出现,现在来讲讲它的一些使用。
以下来简单举个例子说明一下:

package test;

public class Run1 {
	public static void main(String[] args) {
		System.out.println(Thread.currentThread().getName());	
	}
}

如果看过前面博客的朋友肯定就知道,不用说,结果肯定是main
运行结果:
在这里插入图片描述
至于这个main和main()方法是不一样的,只是刚好同名而已,那么现在有一个比较专业一点的说法就是main方法被名为main的线程调用了。
在这里插入图片描述
下面我们继续再看一个案例:

package MyThread;

public class mythread extends Thread{
  public mythread() {
	  
	  System.out.println("构造方法的打印:"+Thread.currentThread().getName());
  }
  @Override
  public void run() {
	  System.out.println("run方法打印:"+Thread.currentThread().getName());
  }
}

package test;
import MyThread.mythread;
public class Run2 {
	public static void main(String[] args) {
		mythread my=new mythread();
		my.start();
		
	}

}

运行结果:
在这里插入图片描述
这样一来就很清楚了,mythread.java类的构造函数是被main线程调用的,而run方法是被名为Thread-0的线程调用的,虽然不知道这个东西是什么,这里可以不用管先,总之可以知道的是,run方法是自动调用的方法
现在我在Run2简单将那个my.start()改成my.run()
运行结果:
在这里插入图片描述
好像有点意思,再来一个比较复杂的情况让大家看看:

package MyThread;

public class CountOperate extends Thread{
	public CountOperate() {
		System.out.println("构造方法里——测试开始");
		System.out.println("Thread.currentThread().getName="+Thread.currentThread().getName());
	    System.out.println("This.getName="+this.getName());
	    System.out.println("构造方法测试结束");
	} 
	@Override
	public void run() {
		System.out.println("run方法里——测试开始");
		System.out.println("Thread.currentThread().getName="+Thread.currentThread().getName());
	    System.out.println("This.getName="+this.getName());
	    System.out.println("run方法结束");
	}

}

run方法里:

package test;
import MyThread.mythread;
import MyThread.CountOperate;
public class Run {
	public static void main(String[] args) {
		CountOperate c=new CountOperate();
		Thread t1=new Thread(c);
		t1.setName("A");
		t1.start();

	}
	
}

运行结果:
在这里插入图片描述

run()和start()的区别

thread.run():立即执行run方法,不启动新的线程
thread.start():执行run()方法时机不确定时,启动新的线程

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java多线程基础四——currentThread()方法使用案例说明、run()和start()的区别 的相关文章

  • C++常识1:字符串末尾为什么要加‘\0’

    在C C 43 43 语言中 xff0c 字符串是用字符数组来表示的 但是 xff0c 字符数组中的内容 xff0c 直接显示 xff0c 可能会出现乱码 xff0c 因为编译器从物理内存中解释字符串时 xff0c 从数组头部开始依次显示字
  • PX4运行时,输入top命令,查看系统运行状态

  • matlab:读取/写入

    importdata 能读取csv jpg bmp avi文件 figure存为bmp xff1a saveas 读取csv文件 xff1a csvread 写入csv文件 xff1a csvwrite 读取bmp文件 xff1a imre
  • 初学opencv

    https zhuanlan zhihu com p 568218818 https www zhihu com question 346053854 answer 2518654077 Halcon
  • 树莓派驱动水星无线网卡(MW150UH)教程指南

    目录 1 树莓派版本 2 无线网卡 查询无线网卡 1 如果为 Bus 001 Device 005 ID 0bda b711 Realtek Semiconductor Corp RTL8188GU 802 11n WLAN Adapter
  • matlab-快速查看数据分布

    1 如果你有一个数组 xff0c 想看数据分布 xff0c 可以调用hist xff0c 便可生成柱状分布图 xff1b 2 如果你有两个数组 xff0c 想对比两个数据的分布 xff0c 可以把两个数组放到一起拼成n行2列的矩阵 xff0
  • 设计一个简单的飞控硬件主要需要哪些元器件?

    主控芯片 xff1a STM32F407VGT6 稳压芯片 xff1a MIC5219 姿态传感器 xff1a MPU6050 磁力计 xff1a HMC5883L 气压计 xff1a MS5611 存储器 xff1a 24C02 USB串
  • AD中怎样修改原理图图纸大小

    方法一 xff1a 双击原理图纸框外的空白区域 2 在Standard Styles选项中调整原理图尺寸 方法二 xff1a 在工具栏中 gt 点击Design gt 点击Document Options gt 找到Standard sty
  • 为什么原理图中元器件下面有红色波浪线?

    为什么原理图中元器件下面有红色波浪线 xff1f 答 xff1a 因该元器件元器件的名字 xff08 disignator xff09 与别的元器件的名字重复了 解决方案 xff1a 对原理图中的元器件进行手动编号或自动编号 对元器件进行自
  • RT9193稳压芯片的电路原理图

    典型接线示意图 xff1a 问 xff1a 引脚BP是什么作用 xff1f 答 xff1a Reference Noise Bypass 参考噪声旁路 各引脚功能如下表 xff1a
  • 24C02原理图设计+管脚配置+管脚描述

  • 怎样介绍飞行器设计与工程这个专业?(手稿&视频字幕)

    1 从童年对纸飞机的喜爱引入 还记得童年的纸飞机吗 xff1f TA记载着我们童年的喜怒哀乐 还有我们对天空无限的憧憬和向往 2 1903年莱特兄弟第一次实现了人类的飞天梦 3 如今飞行器的发达 4 目前飞行器的飞行原理 xff1a 空气动
  • src路径是什么意思?

    src在软件中都是指source xff0c 也就是源代码的意思 在很多语言的工程里都一个src文件夹用来存放源代码以区别开其它文件 xff08 模板文件 Web文件等 xff09 对于Java来说 xff0c 就是主要用来存放后缀名为 j
  • Telnet&Https&SSL简介

    Telnet协议是TCP IP协议族中的一员 xff0c 是Internet远程登陆服务的标准协议和主要方式 它为用户提供了在本地计算机上完 成远程主机工作的能力 在终端使用者的电脑上使用telnet程序 xff0c 用它连接到服务器 终端
  • 解决MyEclipse保存时出现“Save could not be completed”问题

    一 问题 修改完jsp文件后出现如下问题 二 解决方法 window gt Preferences gt General gt Content Types gt Text gt 选中出现保存问题的文件类型 xff08 如JSP xff09
  • webpack devtool详解

    前言 devtool也是之前常用的一个配置 xff0c 我们稍微了解下吧 xff0c 不研究太深 xff0c 毕竟现在都不怎配置他 内容 devtool是配置sourceMap的 sourceMap大家都知道 xff0c 我们本地或者测试环
  • 数据结构一:绪论小知识

    数据结构一 xff1a 绪论 说明知识框架常见的例题集合欣总一炮 xff1a 说明 这部分并不在考研的考纲里面 xff0c 但是在进入数据结构这门课程学习上 xff0c 非常有帮助 xff0c 一步一步走嘛 知识框架 xff08 该图来自2
  • 数据结构实验之——二叉树前中后递归和非递归遍历的实现

    二叉树前中后递归和非递归遍历的实现 表述形式代码测试结果 表述形式 在这里我在非递归方面前序遍历和中序遍历都提供了两种不同的算法 xff0c 一种是我自己根据性质和原理写的还有一种就是比较普遍的算法 xff0c 代码也已经测试过啦 xff0
  • 数据结构实验之——哈夫曼树的实现

    数据结构实验之 哈夫曼树的实现 目录说明代码测试用例 目录 说明 哈夫曼树的这个实验我是采用常用的左 0 右 1 来实现的 xff0c 输入是用文本输入的 xff0c 大家在用之前目录下要记得创建 HT txt 文件o xff0c 下面的测
  • 数据结构实验之——职工管理系统的实现(包括保存至文本功能)

    职工管理系统实验 目录说明代码测试用例 目录 说明 这个代码初步的实现了职工管理系统的录入 删除 查询 保存文本等的功能 xff0c 在实现将职工信息保存至文本这个功能时 xff0c 不要忘记要创建一个保存的txt文件噢 xff0c 本实验

随机推荐