多线程
文章平均质量分 91
一叶飘零_sweeeet
大家好,我是果酱(ken),公众号:“果酱桑” 。专注 Java 开发与云原生技术领域,持续分享技术实现方案、实战问题排查、干货心得及前沿动态。已入驻阿里云、稀土掘金、个人公众号等平台,博文同步更新~ 若有技术疑问、经验交流或方向指导,欢迎评论区探讨!以技术为桥,共赴成长之路,期待与你一起深耕技术、To be is to do !共同进步~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
告别锁竞争:解锁 Java 并发编程的 10 种无锁黑科技
Java并发编程提供了多种无锁解决方案来避免线程冲突,包括:不可变对象、ThreadLocal、原子类、Copy-On-Write机制、并发容器、分布式锁替代方案、函数式编程、事件驱动架构、限流器以及架构层面的控制策略。这些方法各具特色,适用于不同场景,如不可变对象适合配置信息,原子类适合计数器,Copy-On-Write适合读多写少场景。在分布式系统中,还可采用乐观锁、Redis原子操作等替代分布式锁。通过合理选择这些无锁方案,可以在保证线程安全的同时提升系统性能,减少锁带来的性能瓶颈和复杂性问题。原创 2025-10-30 17:40:28 · 819 阅读 · 0 评论 -
解锁 Java 线程同步的 12 种核心方案,让并发问题无处遁形
本文系统介绍了Java中12种线程同步机制,涵盖从基础的synchronized到高级的StampedLock等多种方案。文章首先分析了线程同步需要解决的三大核心问题:可见性、原子性和有序性,然后详细讲解了各种同步方式的原理、实现和适用场景,包括synchronized的三种使用形式、volatile的可见性保证、Lock接口的灵活控制、读写分离的ReadWriteLock、乐观读的StampedLock,以及原子类、并发容器等无锁方案。此外还介绍了线程协作工具CountDownLatch、CyclicBa原创 2025-10-29 17:52:29 · 966 阅读 · 0 评论 -
Java 线程安全的 10 项核心技术:从基础锁机制到并发容器的实战指南
本文介绍的 10 项核心技术涵盖了从基础同步机制到高级并发工具的完整解决方案。原创 2025-08-21 16:04:57 · 545 阅读 · 0 评论 -
Java 线程同步的艺术与实战(避坑指南)
本文系统讲解了Java线程同步的核心机制与实战应用。首先通过库存扣减案例揭示多线程数据竞争问题,引出线程同步的三大目标:原子性、可见性、有序性。然后详细解析synchronized关键字的三种使用方式及其底层Monitor原理,分析JDK6的锁升级优化。接着介绍更灵活的Lock框架,对比synchronized差异并演示ReentrantLock的高级特性。文章还探讨了volatile的内存语义和适用场景,以及原子类的CAS实现原理。原创 2025-08-18 17:53:24 · 798 阅读 · 0 评论 -
Java 线程同步实战指南:从混乱到有序的并发编程艺术
Java线程同步机制全面解析 摘要:本文系统介绍了Java多线程编程中的核心同步技术。首先分析了线程不安全问题的根源(竞态条件、内存可见性),进而详细讲解了synchronized关键字的三种用法及其底层实现原理。随后对比了Lock接口的灵活特性(可中断、超时、公平锁等),并探讨了volatile关键字的内存可见性保障。文章还剖析了原子操作类的CAS原理,以及等待/通知机制和高级并发工具(CountDownLatch/CyclicBarrier/Semaphore)的使用场景。原创 2025-08-04 11:19:04 · 1072 阅读 · 0 评论 -
Java 线程池:深入理解与高效应用
在 Java 并发编程中,线程池是一种非常重要的技术。它可以有效地管理和复用线程,提高系统的性能和资源利用率。本文将深入探讨 Java 线程池的概念、原理、使用方法以及最佳实践,帮助读者更好地理解和应用线程池。原创 2024-10-26 00:02:56 · 1700 阅读 · 0 评论 -
Java CompletableFuture 详细使用教程与实践
Java 8引入了一种强大的异步编程工具:CompletableFuture。它提供了一种处理异步计算的方式,使得你可以在计算完成时获取结果,或者将一个或多个CompletableFuture的结果组合在一起。原创 2023-08-30 18:01:13 · 2549 阅读 · 0 评论 -
ThreadLocal详解
ThreadLocal是Java中的一个线程封闭(Thread Confinement)技术,用于在每个线程中维护独立的变量副本。每个ThreadLocal对象都可以存储一个线程私有的变量副本,该变量只能由对应的线程访问和修改,其他线程无法直接访问该变量。get():获取当前线程的变量副本。set(value):设置当前线程的变量副本为指定的值。remove():移除当前线程的变量副本。ThreadLocal的核心思想是将共享变量转化为线程私有的变量,从而避免了对共享变量的竞争和同步操作。原创 2023-07-14 15:05:33 · 292 阅读 · 0 评论 -
用mybatis批处理, 编程式事务,CompletableFuture异步处理,多线程,线程池,list 分页,实现多张表大批量插入
在实际的开发中,我们经常需要将大量的数据插入到数据库中。如果使用单条插入的方式,会导致数据库连接频繁的开启和关闭,从而导致程序性能低下。为了提高程序的性能,我们可以使用批处理的方式来插入数据。同时,我们还可以使用Java编程式事务、多线程、线程池、List分页等技术来实现多张表大批量插入的功能。本文将介绍如何使用Java编程式事务、多线程、线程池、List分页等技术实现多张表大批量插入的功能。本文介绍了如何使用Java编程式事务、多线程、线程池、List分页等技术实现多张表大批量插入的功能。原创 2023-05-31 16:44:15 · 6710 阅读 · 3 评论 -
CompletableFuture与多线程结合使用
在Java 8中,引入了CompletableFuture类,它是Future的增强版,提供了更加灵活的异步编程方式,能够更好地利用多线程的优势。本文将详细讲解CompletableFuture的使用方法,并结合多线程实现异步编程。CompletableFuture是Java 8中新增的一个类,它实现了Future和CompletionStage接口,提供了一种更加灵活的异步编程方式。原创 2023-05-29 16:35:07 · 7546 阅读 · 0 评论
分享