Java_基础—多线程(匿名内部类实现线程的两种方式和设置名字的方法)

Java基础-23总结多线程,线程实现Runnable接口,线程名字获取和设置,线程控制,线程安全,同步线程 你需要的是什么,直接评论留言。 获取更多资源加微信公众号“Java帮帮” (是公众号,不是微信好友哦) 还有“Java帮帮”今日头条号,技术文章与新闻,每日更新,欢迎阅读 学习交流请加Java帮帮交流QQ群553841695 分享是一种美德,分享更快乐! 1:多线程(理解) (1)多线程:一个应用程序有多条执行路径 进程:正在执行的 阅读详情

一、为什么要使用匿名内部类来实现多线程?

好处:不需要另找一个类来继承Thread类和实现Runnable接口啦,只需要new Thread()或者new Runnable() 后,重写里面的run()方法就可以了。

package com.soar.thread;

public class Demo4_Thread {


    public static void main(String[] args) {
        //匿名内部类通过Thread开启多线程
        new Thread(){                               //1.继承Thread类
            public void run(){                      //2.重写run()方法
                for(int i=0; i<100; i++){           //3.将要执行的代码写在run()方法中
                    System.out.println("aaaaaaa");
                }
            }
        }.start();                                  //4.开启线程


        //匿名内部类通过Runna开启多线程
        new Thread(new Runnable(){                  //1.将Runnable的之类对象传递给Thread的构造方法
            public void run(){                      //2.重写run()方法
                for(int i=0; i<100; i++){           //3.将要执行的代码写在run()方法中
                    System.out.println("bb");
                }
            }
        }).start();                                 //4.开启线程

    }

}

二、为线程设置名字的两种方式

  1. 通过参数设置名字
  2. 通过调用setName来设置名字
package com.soar.threadmethod;

public class Demo1_Name {

    public static void main(String[] args) {
        //argsSetName();    //通过传入参数,给线程改名


        Thread t1 = new Thread(){
            public void run(){
                //this.setName("张三");
                System.out.println(this.getName()+"   aaaaa");  //张三   aaaaa
            }
        };

        Thread t2 = new Thread(){
            public void run(){
                //this.setName("李四");
                System.out.println(this.getName()+"   bb");     //李四   bb
            }
        };

        t1.setName("张三");
        t2.setName("李四");
        t1.start();             //张三   aaaaa
        t2.start();             //李四   bb
    }


    //通过传入参数,给线程改名
    public static void argsSetName() {
        new Thread("高飞"){
            public void run(){
                System.out.println(this.getName()+"    aaaa");  //高飞    aaaa
            }
        }.start();

        new Thread("高飞飞"){
            public void run(){
                System.out.println(this.getName()+"    bb");    //高飞飞    bb
            }
        }.start();
    }

}

三、获取当前线程的对象

在匿名Runnable中通过使用
Thread.currentThread(), 主线程也可以获取

package com.soar.threadmethod;

public class Demo2_CurrentThread {

    public static void main(String[] args) {

        new Thread(){
            public void run(){
                System.out.println(getName()+"   aaaa");    //Thread-0   aaaa
            }
        }.start();

        new Thread(new Runnable(){
            public void run(){
                //Thread.currentThread()获取当前正在执行的线程
                System.out.println(Thread.currentThread().getName()+"  bb");    //Thread-1  bb
            }
        }).start();

        //System.out.println(Thread.currentThread().getName()); //main
        Thread.currentThread().setName("我是主线程");
        System.out.println(Thread.currentThread().getName());   //我是主线程
    }

}
LM358实战:手把手教你搭建电流检测电路(附电阻选型计算) 本文详细解析了使用LM358运算放大器搭建电流检测电路的全过程,包括基础原理、采样电阻选型、放大电路设计及PCB布局技巧。通过实战案例和精确计算,帮助工程师快速掌握低成本、高精度的电流检测方案,适用于电源管理、电机控制等多种应用场景。 阅读详情

相关推荐

5分钟搞定!用OpenCV实现全景图像柱面展开的保姆级教程(附完整代码)

本文提供了一份使用OpenCV实现全景图像柱面展开的详细教程。通过清晰的数学原理讲解和分步代码演示,指导读者快速掌握从等距柱状投影全景图到平面展开图的核心转换方法,并涵盖性能优化、参数调整及透视视图扩展等实用技巧,适合图像处理爱好者和开发者实践。

sony5的博客 573

创建匿名线程的5种方式

package mythread; /* * 使用匿名内部类开启线程 */ public class Demo02anonymous_thread { public static void main(String[] args) { // 方式一:使用匿名内部类创建线程的子类对象 Thread thread = new Thread() { @Override

小林子的博客 7568

CH582低功耗实战:从1.2mA降到5uA,我的蓝牙广播功耗优化笔记

本文详细记录了沁恒CH582蓝牙芯片从1.2mA降至5μA的功耗优化全过程。通过建立基准测试环境、分层排查软件配置与IO状态、精细调优射频参数以及硬件层面的电源管理,实现了极致的低功耗表现。文章还提供了实用的功耗测量方法和典型问题排查指南,为蓝牙设备开发者提供了宝贵的参考经验。

weixin_30368405的博客 572

创建线程的5种方式(匿名内部类、lambda表达式版)

创建线程的5种方式(匿名内部类、lambda表达式版)

qq_18841277的博客 1955

手把手教你用STM32CubeMX配置I3C通信(含动态地址分配实战)

本文提供了一份基于STM32CubeMX配置I3C通信的实战指南,重点讲解了动态地址分配的实现步骤。通过详细的工程配置、从设备枚举、CCC命令使用及数据读写示例,帮助开发者快速掌握这一高效通信协议,以替代传统的I2C或SPI接口,满足多传感器连接与低功耗设计需求。

c8d9e0f1的博客 543

【AI平台】n8n入门2:第一个工作流,调用本地大模型

n8n是一款开源的,专注于AI工作流构建,支持灵活的自定义与集成。就是可以把大模型和其他工具联合起来,这就厉害了。而且,免费功能又强大,目前很火,来研究一下。

正经教主是个热衷于正经学习分享的教主。 4531

java匿名多线程

实现代码: // 并发:就是交替执行, python中一般叫串行, 也就是多线程的执行方式 // 并行:就是各执行个的,互不干扰,就是多进程的执行方式 // 匿名多线程 java中的多线程是抢占式调用,而不是这个线程执行一个,下一个就是另外一个线程来执行,而是 // 进程会随机选择一个线程当做"亲"儿子,让他多执行一会 public class Demo24Class { public static void main(String[] args) { // Thread匿名多线

白小白的小白的博客 1292

手把手教你使用YOLOv11模型,训练自己数据集,百分百成功(无废话)

YOLOV11百分百成功训练自己的数据集并进行图像、视频流脚本预测

chenhenGzzz的博客 1952

多线程——匿名线程

匿名线程 public class MyThread extends Thread { public MyThread(String name) { super(name); } public void run() { for(int i=0;i<5;i++){ try { ...

weixin_30855099的博客 285

Intouch实时报警

Intouch实时报警功能的相关设置

weixin_41571357的博客 4202

YOLOv5 模型剪枝与量化实战:从训练到部署,轻量化模型性能不减(2026终极指南)

YOLOv5 轻量化三部曲稀疏训练:让模型学会“偷懒”,把不用的神经元权重压到 0。手术剪枝:切掉那些权重为 0 的神经元,物理减小模型体积。量化压缩:把剩下的神经元从“高精度浮点”变成“低精度整数”,进一步压榨速度。这套组合拳是 2026 年边缘 AI 部署的标准工业流程。虽然 YOLOv8/v10 原生支持更好的导出,但 YOLOv5 的这套手动控制流程能让你更深刻地理解模型结构,并在极端资源受限的场景下(如 MCU、超低端手机)挖掘出最后的性能潜力。最后建议如果你的项目时间紧迫,优先尝试。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 369

Java中的匿名内部类

定义:巴拉巴拉巴拉,就不写了。

SakuraMG的博客 929

Python爬虫实战:携程旅游平台数据爬取(酒店+机票+景点),破解加密与反爬(附完整代码)

携程的反爬机制再复杂,核心逻辑都是“识别非真实用户的请求”,而爬虫的核心就是“让请求看起来像真实用户的行为”。本文的方案从登录态处理、参数加密破解、动态数据抓取,到反爬应对,都是围绕“模拟真实”展开:用Playwright模拟真实浏览器登录,用住宅代理模拟真实用户IP,用随机延迟模拟真实用户的操作频率。掌握了这个核心思路,无论平台的反爬如何升级,都能找到应对方法。当然,爬虫技术是一把双刃剑,合理使用才能发挥其价值。如果你的爬虫项目中遇到了携程的反爬问题,不妨按照本文的步骤试试,大概率能解决问题。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2606

JAVA 两种多线程基本方法应用

JAVA 两种多线程方法应用Runnable:先实现接口 重写run方法 后用Thread对象的start()方法启动Runnable:匿名内部类 : 直接写入方法Thread :先继承 后重写方法 在对象中调用start()直接启动Thread:匿名内部类设置/获取当前线程的名字:线程休眠 sleep方法 JAVAde 多线程方法有两种实现 Runnable 接口 和 Thread 继承类...

xiaohongIT的博客 261

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

24.多线程

多线程24.01_多线程(多线程并行和并发的区别)(了解)24.02_多线程(Java程序运行原理和JVM的启动是多线程的吗)(了解)24.03_多线程(多线程程序实现的方式1)(掌握)24.04_多线程(多线程程序实现的方式2)(掌握)24.05_多线程(实现Runnable的原理)(了解)24.06_多线程(两种方式的区别)(掌握)24.07_多线程(匿名内部类实现线程的两种方式)(掌握)24...

dukangming的博客 301

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Java多线程的4种实现方式详解以及案例演示

介绍了Java多线程的4种实现方式:继承Thread、实现Runnable、实现Callable、使用线程池。

终生学习践行者 8190

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【Java多线程】多线程的三种实现方式和多线程常用方法

在main()方法中,你可以创建和启动额外的线程,这些线程称为子线程。子线程可以并行执行,与主线程同时进行。多线程的三种实现方式如下: 继承Thread类的方式进行实现 实现Runnable接口的方式进行实现 利用Callable接口和Future接口方式实现

m0_65277261的博客 5094

java多线程之启动线程的三种方式

java对多线程有着良好的支持,java创建和启动线程较为常用的方式有继承Thread类、实现Runnable接口和匿名内部类的方式。 1.继承Thread类: 通过继承Thread类来创建并启动多线程步骤如下: 1、定义Thread类的子类,并重写该类的run()方法,该run()方法的方法体就代表了线程需要完成的任务。因此把run方法称为线程执行体。 2、创建Thread子类的实例,即...

翻过一座座山 4万+

Java并发编程-多线程基础

1.多线程概述 1、什么是进程?什么是线程?   进程是一个应用程序(1个进程是一个软件)。   线程是一个进程中的执行场景/执行单元。   一个进程可以启动多个线程。 2、对于java程序来说,当在DOS命令窗口中输入:java HelloWorld 回车之后。   会先启动JVM,而JVM就是一个进程。   JVM再启动一个主线程调用main方法。   同时再启动一个垃圾回收线程负责看护,回收垃圾。   最起码,现在的java程序中至少有两个线程并发,   一个是垃圾回收线程,一个是执行main方法的主

Java硬件工程师的博客 3733

【多线程】Java中多线程的几种实现方式

多线程(multithreading)是指在一个程序中同时执行多个不同的线程(thread),每个线程都是程序的一部分,是独立的执行路径。相比于单线程程序,多线程程序可以更充分地利用计算机的多核心或多处理器资源,提高程序的运行效率和用户体验。在多线程编程中需要注意线程同步、锁、死锁等问题。

小筱在线博客 2331

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

继承Thread类:继承Thread类,再重写Thread类的Run方法,然后调用start()方法启动线程,启动线程后执行的是run方法。注意:多次启动线程(多次调用start()方法)是不合法的。 实现Runnable接口:实现Runnable接口,再重写run方法,然后将这个实现类当做参数传给Thread类,例如:Thread dog = new Thread(runn,"小狗"),创建...

学习笔记 1万+

JAVA:线程总结及多线程实现的两种方法

JAVA:线程总结 目录   目录 JAVA:线程总结 JAVA:线程总结 01_多线程(多线程的引入)(了解) 02_多线程(多线程并行和并发的区别)(了解) 03_多线程(Java程序运行原理和JVM的启动是多线程的吗)(了解) 04_多线程(多线程程序实现的方式1)(掌握) 05_多线程(多线程程序实现的方式2)(掌握) 06_多线程(实现Runnable的原理)(了解...

岁月求索 1296

java多线程实现的2种方式详解、比较、匿名内部类实现多线程的方法

实现Runnable接口的好处 1 避免的单继承的局限性 (一个类只能继承一个类,一个人只能有1个亲爹) 实现Runnable接口还可以继承其他类,实现其他接口 2 增强了程序的扩展性,降低了程序的耦合性(解耦) 实现Runnable接口 把设置线程任务和开启新线程进行了分离 设置线程任务:Runnable接口中重写run()方法 开启新线程:创建的Thread类调用start()方法...............

m0_45877477的博客 682

简述两种JAVA多线程的创建方式

一、概述 在JAVA中,用Thread类代表线程,所有线程对象,都必须是Thread类或者Thread类子类的实例。每个线程的任务就是执行一段顺序执行的代码,JAVA使用线程执行体来容纳这段代码 二、多线程的好处 1.充分利用CPU资源 2.简化代码模型 3.提高用户体验 三、创建多线程的两种方式 第一种, 通过继承Thread类创建线程类 1、定义一个类继承Thread类,并重写Thread类的run()方法,run()方法的方法体就是线程要完成的任务,因此把run()称为线程的执行体; 2、创建该类的实

m0_46660951的博客 2899

Java基础之多线程详解

Java多线程是抢占式,谁的优先级高,谁先执行 Java使用 java.lang.Thread 类代表线程,所有的线程对象都必须是Thread类或其子类的实例。 创建并启动多线程的步骤:1.使用基类Thread 2.使用Runnable接口 3.使用匿名内部类。 如何解决线程安全问题:1.同步代码块 2. 同步方法 3.锁机制 线程之间的通信:1.线程状态概述 2.等待和唤醒案例

小小张自由—>张有博 2706

【java】匿名内部类和多线程

目录匿名内部类和多线程1.匿名内部类1.1接口复习1.2类的本体2.多线程2.1什么是进程2.2什么是线程2.3进程和线程的关系2.4线程优缺点2.5 java中创建线程的两种方式2.6Thread中常用方法2.7 线程锁操作问题2.7.1生活场景分析2.7.2代码实现分析2.7.3售票抢占问题2.7.4同步代码块2.8守护线程/后台进程 匿名内部类和多线程 1.匿名内部类 1.1接口复习 interface A { 成员变量 缺省属性 public static final 定义时必须初始化 成员

XiaoChen~Coder 1053
上一篇: Java_基础—多线程程序实现的3种方式Thread和Runnable和Callable
下一篇: Java_基础—设置休眠/守护/插队/礼让/优先级线程
Soar_Sir
博客等级 码龄10年 30粉丝 139原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值