多线程实现的三种方法、线程名称的获取

news2024/11/17 1:43:09

文章目录

    • 多线程实现的三种方法
      • 1、通过继承Thread,并重写里面的run()方法
      • 2、实现Runnable接口,并重写其中run()方法
        • 将runnable类传递给Thread类中
      • 3、实现Callable接口,重写其中的call()方法
        • Callable接口时有泛型的,该泛型值call()方法返回值的类型
    • run方法和start方法的区别
    • 设置线程名称
      • 1.使用setName()方法
      • 2.在构造线程类中设置名称,但前提是有空参和有参的构造方法
    • 获取线程的名称
        • 1,使用getName()方法类获取线程名称(继承Thread类的可用)
        • 2,实现Runnable接口的类,不能使用getName()方法,需要使用Thread.currentThread().getName()来获取名称

多线程实现的三种方法

1、通过继承Thread,并重写里面的run()方法

在这里插入图片描述
在这里插入图片描述

2、实现Runnable接口,并重写其中run()方法

将runnable类传递给Thread类中

在这里插入图片描述
在这里插入图片描述

3、实现Callable接口,重写其中的call()方法

Callable接口时有泛型的,该泛型值call()方法返回值的类型

在这里插入图片描述
在这里插入图片描述

run方法和start方法的区别

start()方法:启动线程,然后由JVM调用线程run方法,和操作系统交互
run()方法:表示仅仅是创建对象,用对象去调用方法,并没有开启线程

设置线程名称

1.使用setName()方法

在这里插入图片描述

2.在构造线程类中设置名称,但前提是有空参和有参的构造方法

在这里插入图片描述
在这里插入图片描述

获取线程的名称

1,使用getName()方法类获取线程名称(继承Thread类的可用)

2,实现Runnable接口的类,不能使用getName()方法,需要使用Thread.currentThread().getName()来获取名称

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/390710.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

字符串模式匹配,经典KMP算法你还不会?我可不允许你不会!

文章目录重点1. 简单模式匹配算法2. 部分匹配值PM的算法(Move j-1 PM[j-1])3. 部分匹配值PM的两次改进(Move j-next[j])4. 快速得到next数组5. KMP匹配算法重点 童鞋们看网上讲解的时候一定要分清楚序列是从0开始还是从1开始&…

大数据框架之Hive:第1章 Hive入门

1.1 什么是Hive 1)Hive简介 Hive是由Facebook开源,基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。 那为什么会有Hive呢?它是为了解决什么问题而诞生的呢? 下…

性能优化|记一次线上OOM问题处理

概述最近线上监控发现 OOM 涨幅较大,因此去尝试定位和修复这个问题,在修复了一些内存泄漏和大对象占用问题后, OOM 依旧未达到正常标准,在这些新上报的 hprof 文件中,发现几乎所有 case 中都有个叫 FinalizerReference 的对象&…

集合体系概述以及Collection集合常用API

一. 集合 集合与数组类似,都是一种容器。集合是Java中存储对象数据的一种容器。集合也被称为对象容器。 数组的特点 集合的特点 集合的大小不固定,启动后可以动态变化,类型也可以选择不固定。集合更像气球,可大可小。集合非常适合…

python与pycharm从零安装

python(解释器)下载地址:Welcome to Python.orgpycharm(编译器)下载地址:PyCharm: the Python IDE for Professional Developers by JetBrains一、python的下载与安装到官网后根据步骤下载安装包后&#xf…

xgboost:分割查找:Weighted Quantile Sketch

Weighted Quantile Sketch 专门处理流式和分布式加权数据集的一种分桶的方法 近似算法的一个重要步骤是提出候选分裂点。通常使用特征的百分位数来使候选数据均匀分布。形式上,设Dk(x1k,h1),(x2k,h2)⋅⋅⋅(xnk,hn)D_k {(x_{1k}, h_1),(x_…

Redis持久化:RDB、AOF

Redis持久化一. RDB(1) save(2) bgsave(3) 总结二. AOF(1) 重写优化(2) RDB和AOF的区别引入:Redis用内存存储数据,有数据丢失的问题; 一. RDB RDB(Redis Database Bcakup file)即Redis数据备份文件,或Red…

如何用 Python采集 <豆某yin片>并作词云图分析 ?

嗨害大家好鸭!我是小熊猫~ 总有那么一句银幕台词能打动人心 总有那么一幕名导名作念念不忘 不知道大家有多久没有放松一下了呢? 本次就来给大家采集一下某瓣电影并做词云分析 康康哪一部才是大家心中的经典呢? 最近又有哪一部可能会成为…

拉链表详解

目录 一、拉链表概念 二、拉链表对应的业务需求 三、代码实现 3.1 数据初始化: 3.2 创建ods层增量表: 3.3 创建dwd层拉链表 3.4 数据更新 ,将数据日期为2023-3-4的日期添加到拉链表中 3.4.1 先追加数据到ods层表 3.4.2 更新dwd层表数据 …

【SpringCloud】SpringCloud详解之Ribbon实战

目录前言SpringCloud Ribbon 负载均衡一需求二.RestTemplate远程调用配置负载均衡(order服务内修改)三.Ribbon实现负载均衡的原理四.Ribbon负载均衡策略1.负载均衡种类2.配置负载均衡(order服务中配置)五.Ribbon的饥饿加载配置(在order服务配置)前言 微服务中比如用户服务部署…

sklearn使用入门

文章目录1.机器学习1.1 机器学习简介1.2 有监督学习(supervised learning)1.3 无监督学习(unsupervised learning)1.4 半监督学习2. 机器学习工具SKlearn2.1 sklearn2.2 sklearn常用模块2.2.1 分类2.2.2 回归2.2.3 聚类2.2.4 降维2.2.5 模型选择2.2.6 数据预处理2.3 sklearn使用…

Android startActivityForResult()废弃了,代替方案案例

安卓项目compileSdk为32,在使用startActivityForResult()方法时发现Android studio提示此方法已经废弃了。 目前的代替方案案例。 // 确保 app 的 build.gradle中已经引入了androidx.appcompat:appcompat dependencies {implementation androidx.appcompat:appcomp…

操作系统之进程管理---每天一点点(春招加油呀)--知识点回顾(自问自答版本总结)

1.什么是进程?什么是线程?进程和线程的区别? 进程:资源分配和管理的基本单位 线程:程序执行的最小单位。 区别: 地址空间: 同一进程的所有线程共享本进程的地址空间,而不同的进程之间…

仓库拣货标签电子价格标签办公电子标牌

数字货架标签尺寸:2.13英寸、2.9英寸、4.2英寸、7.5英寸、10.2英寸技术:2.4G MHz无线通信技术,电子墨水显示。刷新20,000个标签/1小时/AP。3-5年的寿命,电池可以快速更换。ESL管理系统工作原理:实时显示最新…

【Maven】P3 依赖管理

依赖管理依赖配置依赖传送依赖具有传递性直接依赖与间接依赖依赖冲突可选依赖排除依赖依赖范围依赖配置 依赖指的是当前项目所需要的jar包&#xff0c;在 pom.xml 中可以看到 <!--设置当前项目所依赖的所有jar包--> <dependencies><!--设置一个具体的依赖jar-…

【CVPR2022】Class Re-Activation Maps for Weakly-Supervised Semantic Segmentation

论文标题&#xff1a;Class Re-Activation Maps for Weakly-Supervised Semantic Segmentation收录&#xff1a;CVPR 2022paper: https://arxiv.org/abs/2203.00962code: https://github.com/zhaozhengChen/ReCAM解读&#xff1a;https://zhuanlan.zhihu.com/p/478133151https:…

mx-font

Abstract 短镜头字体生成(FFG)方法必须满足两个目标:生成的图像既要保留目标字符的底层全局结构,又要呈现多样化的局部参考风格。现有的FFG方法旨在通过提取通用表示样式或提取多个组件样式表示来分离内容和样式。然而,以往的方法要么无法捕捉不同的本地风格,要么无法推广到…

初识系统移植

系统移植简单来说就是将准备好的内核&#xff08;OS&#xff09;移植到一台主机或者开发板中&#xff0c;类似于器官移植&#xff0c;将准备好的器官移植到人体中。 为什么需要系统移植&#xff1f; 没有内核的情况下&#xff0c;上层如果要控制硬件只能将C语言代码先编译成二…

【C++】栈和队列(stackqueue)介绍,实现,oj

&#x1f345;一文包教会&#xff0c;不再赘述栈最基本的结构和性质&#xff08;栈的基本介绍在这里&#xff09; &#xff08;队列基本介绍和实现&#xff09;,博主主页还有很多栈和队列oj题哦~ 目录 ☃️1.stack_list &#x1f41d;1.1 介绍 &#x1f41d;1.2 stack和list实…

人工智能|HCIA-AI V3.0(一)——人工智能概览

文章目录一 AI、机器学习、深度学习的关系二 AI的三个方面的应用2.1 计算机视觉2.2 语音处理2.3 自然语言处理三、争议四、未来展望一 AI、机器学习、深度学习的关系 人工智能:是研究、开发用于模拟、延伸和扩展人的智能的理论、方法及应用系统的一- 门新的技术科学。 机器学习…