摘要: Java 并行编程 核心思想 当前计算机多为多CPU、多核架构,为充分发挥硬件性能,可将一个大任务拆分成多个独立小任务。这些小任务在不同处理器核心上并行执行,执行完成后合并结果,最终得到大任务的解决方案。 Fork/Join 框架介绍 JDK7 引入 Fork/Join 框架,专为并行编程设计,是分 阅读全文
posted @ 2025-11-14 16:35 Jing61 阅读(7) 评论(0) 推荐(0)
摘要: Java 乐观锁 核心概念 悲观锁 假设最坏情况,每次访问共享资源时都会有其他线程来修改数据。 访问之前会先加锁,确保同一时刻只有一个线程操作数据。 代表实现:synchronized、Lock、数据库中的行锁、表锁。 乐观锁 假设大多数情况没有冲突,允许多个线程同时访问数据。 访问共享资源时不会加 阅读全文
posted @ 2025-11-14 16:30 Jing61 阅读(6) 评论(0) 推荐(0)
摘要: Java 同步集合 同步集合的创建方式 通过 Collections 工具类提供的静态方法,可将普通集合转换为同步集合,保证多线程环境下单个方法操作的线程安全。 部分静态方法 synchronizedList(List<E> list):将普通 List(如 ArrayList)转换为同步 List 阅读全文
posted @ 2025-11-14 16:28 Jing61 阅读(2) 评论(0) 推荐(0)
摘要: Java 线程状态与常用操作 线程驱动任务(任务在线程中执行)。线程可以是以下5种状态:新建、就绪、运行、阻塞或结束。 线程的5种状态 新建状态(New) 新创建一个线程时,它就进入新建状态(New)。 就绪状态(Ready) 调用线程的start()方法启动线程后,它就进入就绪状态(Ready)。 阅读全文
posted @ 2025-11-14 16:14 Jing61 阅读(13) 评论(0) 推荐(0)
摘要: Java Exchanger Exchanger 是 JDK 1.5 起提供的并发工具类,主要用于两个工作线程之间交换数据,兼具特定的同步特性与应用场景。 核心特性 对外操作是同步的,确保线程间数据交换的有序性。 专门用于成对出现的线程之间交换数据,不支持多线程同时交叉交换。 可看作双向的同步队列, 阅读全文
posted @ 2025-11-14 15:05 Jing61 阅读(4) 评论(0) 推荐(0)
摘要: Java 信号量机制实现 信号量 Semaphore 信号量可限制访问共享资源的线程数。线程访问资源前需从信号量获取许可,访问结束后需将许可归还信号量。 场景介绍 一个停车场只有5个车位,现有100辆车争抢这5个车位。理想情况下,最多同时有5辆车能抢到车位,未抢到车位的车需等待,直到其他车让出车位后 阅读全文
posted @ 2025-11-14 15:00 Jing61 阅读(8) 评论(0) 推荐(0)
摘要: Java CountDownLatch CountDownLatch 是 Java 并发编程中一种简单的同步工具,核心作用是让一个线程等待一个或多个线程完成工作后再继续执行,从而避免临界资源并发访问引发的问题。 核心原理 初始化时指定「倒计时次数」,代表需要等待的线程任务数量。 每个被等待的线程完成 阅读全文
posted @ 2025-11-14 10:17 Jing61 阅读(12) 评论(0) 推荐(0)