蜗牛学苑 Java 学习 Day14|多线程入门、线程同步思维导图复盘
一、思维导图整体知识结构梳理本次学习内容分为四大核心模块多线程基础概念、多线程三种实现方式、线程安全与同步机制、Lock 锁与 Lambda 简化写法是 Java 并发编程入门核心内容。一多线程基本概念进程操作系统独立资源分配单位一个运行中的软件就是一个进程线程进程内独立执行路径是 CPU 调度最小单位一个进程可包含多条线程并发 / 并行并发是 CPU 快速轮换执行多个线程宏观同时、微观交替并行是多核 CPU 同时执行多条线程。二多线程三种实现方式继承 Thread 类自定义类继承Thread重写run()方法new 对象.start()启动线程缺点Java 单继承无法再继承其他类耦合度高。实现 Runnable 接口推荐实现Runnable重写run()传入 Thread 构造器启动优点避免单继承限制、同一个任务可被多个线程共用资源共享更方便。实现 Callable 接口 FutureTask支持线程返回值、抛出异常可通过get()获取执行结果适合需要拿到线程执行返回数据的场景。线程常用 APIstart()真正开启线程由 JVM 调用 run 方法Thread.currentThread()获取当前执行线程对象setPriority()设置线程优先级仅为调度建议不绝对生效sleep()让线程休眠指定毫秒释放 CPU 执行权getName()/setName()获取 / 设置线程名称。三线程安全问题问题根源多条线程同时操作共享临界资源CPU 切换执行导致指令被拆分出现数据错乱典型案例售票超卖、剩余票数负数解决核心思路保证共享资源同一时间只允许一条线程执行即原子性操作通过加锁实现线程互斥。四线程同步方案1. synchronized 同步锁隐式锁同步代码块synchronized(锁对象){ 操作共享资源代码 }锁对象任意唯一对象粒度更细同步方法方法上加synchronized修饰非静态锁为this 当前对象静态锁为类字节码对象 Class 底层自动完成锁获取与释放出现异常会自动释放锁不会死锁。2. Lock 锁显式锁java.util.concurrent.locks手动创建ReentrantLock可重入锁对象手动 lock () 加锁、finally 块中 unlock () 释放锁 优势灵活性更高、可尝试非阻塞获取锁、公平锁 / 非公平锁可配置锁粒度控制更精准。五Lambda 表达式简化线程代码因为Runnable是函数式接口仅一个抽象方法可以用 Lambda 一行简化线程创建java运行new Thread(() - { // 线程执行任务 }).start();大幅精简匿名内部类冗余代码也是函数式编程入门实践。二、思维导图制作与分享意图1. 个人知识点梳理与易错点规避线程三种实现方式优缺点、synchronized 锁对象归属静态 / 非静态、Lock 手动锁必须在 finally 释放等都是高频易错点。通过思维导图层级拆解理清线程不安全产生本质、两套锁机制区别避免售票案例超卖、死锁、锁未释放等编码 bug。2. 面试与项目实用价值多线程、并发安全、synchronized 与 Lock 对比是后端面试必考内容也是实际项目异步任务、定时处理、高并发接口的基础。这份导图完整覆盖线程创建、生命周期、同步加锁方案可作为并发入门速查手册。3. 课程体系承接逻辑前面反射、代理、注解、泛型夯实 JavaSE 底层基础本日进入并发编程模块属于 Java 高阶核心能力后续线程池、volatile、JMM、AQS 等内容都建立在本次线程安全、锁机制之上为高并发编程、框架底层原理理解铺路。4. 思维导图结构化优势多线程概念抽象、锁规则容易混淆树形结构按照「是什么→怎么创建→有什么问题→怎么解决→代码简化写法」递进拆解清晰区分两种锁的使用场景与语法差异复习逻辑直观清晰。三、当日学习总结今天系统完成 Java 多线程入门学习理解进程与线程区别掌握继承 Thread、实现 Runnable、CallableFutureTask三种线程创建方式熟练调用线程常用控制 API弄懂多线程并发操作共享资源导致线程不安全的底层原因学会使用synchronized同步代码块 / 同步方法、ReentrantLock显式锁两种方案解决线程安全问题最后利用 Lambda 表达式简化 Runnable 线程代码体会函数式接口简化编程的优势。 并发编程是后端开发核心能力本次掌握线程基础与锁同步机制正式打开 Java 并发体系学习入口为后续线程池、锁优化、高并发问题排查打下扎实基础。

相关新闻

国产假面骑士W迷失驱动器1.5版测评:开箱、功能与改装指南

国产假面骑士W迷失驱动器1.5版测评:开箱、功能与改装指南

最近入手了国产版的假面骑士W迷失驱动器1.5版本,作为特摄剧《假面骑士W》中的经典变身道具,这款产品在还原度和可玩性方面都有不少值得探讨的地方。本文将围绕这款产品的开箱体验、功能细节、材质做工以及性价比进行全面测评,适合特摄爱好者、…

2026/7/31 4:34:56 阅读更多
从RNN到Transformer:序列建模的技术演进与实现

从RNN到Transformer:序列建模的技术演进与实现

1. 从RNN到Transformer:序列建模的范式革命2017年那篇名为《Attention Is All You Need》的论文像一颗核弹在AI领域引爆,彻底改变了我们处理序列数据的方式。当时我还在用LSTM做文本生成,每次训练都要忍受漫长的等待和梯度消失的折磨。Transf…

2026/7/31 4:34:56 阅读更多
SpringBoot医疗智能推荐系统设计与实现

SpringBoot医疗智能推荐系统设计与实现

1. 项目背景与核心价值在当前的数字化医疗浪潮中,智能推荐系统正逐步改变传统卫生健康服务的供给模式。这个基于SpringBoot的智能推荐卫生健康系统,本质上是一个融合了机器学习算法与医疗健康数据的决策支持平台。我在实际医疗信息化项目实施中发现&…

2026/7/31 4:34:56 阅读更多
hubuild中的uniapp项目运行在Android Studio平板模拟器中

hubuild中的uniapp项目运行在Android Studio平板模拟器中

1.下载Android Studio2.打开设备管理器打开后如图打开后这个列表是空的,我的是已经添加了,点击左上角加号,左侧选择Tablet,就是平板的意思,右侧随便选一个,第三个是我自己自定义添加的,是点击左…

2026/7/31 5:55:00 阅读更多
C语言基础:字符数组

C语言基础:字符数组

一维字符数组应用 : 存储字符串。1.定义:类型 数组名[整形常量]; 整形常量 数组的容量,表示可以储存多少个字符 类型 char c语言规定,字符串必须使用\0 作为结束标准。 如果你要在数组中储存一个 hello , hello\0 共计6个…

2026/7/31 5:55:00 阅读更多
GEO优化哪个机构靠谱

GEO优化哪个机构靠谱

在选择 GEO 优化机构时,以下几个方面可以帮助你判断其是否靠谱:机构的背景和资质成立时间:成立时间较长的机构通常在行业内积累了更多的经验和资源。例如合肥拓路人信息科技有限公司,2016 年 4 月成立,十年的时间里专注…

2026/7/31 5:55:00 阅读更多
练习实验之----NAT

练习实验之----NAT

本实验包含源NAT、NAT Server、双向NAT方式实验拓扑需求1、client1(移动用户)访问web-server通过Fw的GE1/0/1接口访问 2、client3(电信用户)访问web-server通过Fw的GE1/0/2接口访问 3、内网用户即可以通过域名访问web-server,也可以通过私网IP访问 4、web-server设备…

2026/7/31 5:55:00 阅读更多
HART协议详解:05 HART现场通信实战

HART协议详解:05 HART现场通信实战

第五季 HART现场通信实战 ——从USB-HART Modem抓包到工程诊断:让协议知识变成维修能力 各位工业现场的工程师朋友们,大家好! 经过前四季的系统学习,我们已经构建了HART协议的完整理论框架: 第一季:六层生命模型与本质认知 第二季:物理层4–20mA与FSK魔法 第三季:数…

2026/7/31 0:14:40 阅读更多
维修工程师的示波器实战:02 探头地线——示波器最大的“坑”

维修工程师的示波器实战:02 探头地线——示波器最大的“坑”

第二篇:探头地线——示波器最大的“坑” ——那根不起眼的小地线,可能比你测的信号还重要 很多工程师第一次用示波器时,都会经历这样一个“惊魂”时刻。 某食品厂包装线,伺服偶发报警。年轻工程师判断是编码器信号受干扰,便拿出示波器认真测量。波形一出来,所有人都倒…

2026/7/31 0:14:40 阅读更多