![](https://img-blog.csdnimg.cn/direct/3449c5e259e0417cb12fb06ccbfa1dff.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java 多线程
文章平均质量分 95
介绍Java多线程的知识
立刀旁
free
展开
-
Java 并发 - ThreadLocal详解
ThreadLocal是通过线程隔离的方式防止任务在共享资源上产生冲突, 线程本地存储是一种自动化机制,可以为使用相同变量的每个不同线程都创建不同的存储。原创 2024-07-02 09:57:46 · 965 阅读 · 0 评论 -
JUC工具类: Exchanger详解
Exchanger是用于线程协作的工具类, 主要用于两个线程之间的数据交换。原创 2024-07-02 09:53:48 · 781 阅读 · 0 评论 -
JUC工具类: Phaser详解
Phaser是JDK 7新增的一个同步辅助类,它可以实现CyclicBarrier和CountDownLatch类似的功能,而且它支持对任务的动态调整,并支持分层结构来达到更高的吞吐量。原创 2024-07-02 09:52:13 · 562 阅读 · 0 评论 -
JUC工具类: Semaphore详解
Semaphore底层是基于AbstractQueuedSynchronizer来实现的。Semaphore称为计数信号量,它允许n个任务同时访问某个资源,可以将信号量看做是在向外分发使用资源的许可证,只有成功获取许可证,才能使用资源。原创 2024-07-01 11:08:44 · 877 阅读 · 0 评论 -
JUC工具类: CyclicBarrier详解
CyclicBarrier底层是基于ReentrantLock和AbstractQueuedSynchronizer来实现的, 在理解的时候最好和CountDownLatch放在一起理解(相见本文分析)。原创 2024-07-01 11:04:45 · 813 阅读 · 0 评论 -
JUC工具类: CountDownLatch详解
CountDownLatch底层也是由AQS,用来同步一个或多个任务的常用并发工具类,强制它们等待由其他任务执行的一组操作完成原创 2024-06-27 18:29:19 · 954 阅读 · 0 评论 -
JUC线程池: Fork/Join框架详解
ForkJoinPool 是JDK 7加入的一个线程池类。Fork/Join 技术是分治算法(Divide-and-Conquer)的并行实现,它是一项可以获得良好的并行性能的简单且高效的设计技术。目的是为了帮助我们更好地利用多处理器带来的好处,使用所有可用的运算能力来提升应用的性能原创 2024-06-27 18:25:42 · 756 阅读 · 0 评论 -
JUC线程池: ScheduledThreadPoolExecutor详解
在很多业务场景中,我们可能需要周期性的运行某项任务来获取结果,比如周期数据统计,定时发送数据等。在并发包出现之前,Java 早在1.3就提供了 Timer 类(只需要了解,目前已渐渐被 ScheduledThreadPoolExecutor 代替)来适应这些业务场景。随着业务量的不断增大,我们可能需要多个工作线程运行任务来尽可能的增加产品性能,或者是需要更高的灵活性来控制和监控这些周期业务。这些都是 ScheduledThreadPoolExecutor 诞生的必然性。原创 2024-06-26 10:29:29 · 439 阅读 · 0 评论 -
JUC线程池: ThreadPoolExecutor详解
本文主要对ThreadPoolExecutor详解。原创 2024-06-26 10:26:47 · 1096 阅读 · 0 评论 -
JUC线程池: FutureTask详解
Future 表示了一个任务的生命周期,是一个可取消的异步运算,可以把它看作是一个异步操作的结果的占位符,它将在未来的某个时刻完成,并提供对其结果的访问。在并发包中许多异步任务类都继承自Future,其中最典型的就是 FutureTask。原创 2024-06-25 16:30:18 · 852 阅读 · 0 评论 -
JUC集合: BlockingQueue详解
JUC里的 BlockingQueue 接口表示一个线程安放入和提取实例的队列。本文将给你演示如何使用这个 BlockingQueue,不会讨论如何在 Java 中实现一个你自己的 BlockingQueue原创 2024-06-25 16:28:05 · 603 阅读 · 0 评论 -
JUC集合: ConcurrentLinkedQueue详解
ConcurerntLinkedQueue一个基于链接节点的无界线程安全队列。此队列按照 FIFO(先进先出)原则对元素进行排序。队列的头部是队列中时间最长的元素。队列的尾部 是队列中时间最短的元素。新的元素插入到队列的尾部,队列获取操作从队列头部获得元素。当多个线程共享访问一个公共 collection 时,ConcurrentLinkedQueue是一个恰当的选择。此队列不允许使用null元素。原创 2024-06-24 09:46:21 · 920 阅读 · 0 评论 -
JUC集合: CopyOnWriteArrayList详解
CopyOnWriteArrayList是ArrayList 的一个线程安全的变体,其中所有可变操作(add、set 等等)都是通过对底层数组进行一次新的拷贝来实现的。COW模式的体现。原创 2024-06-24 09:43:35 · 733 阅读 · 0 评论 -
JUC集合: ConcurrentHashMap详解
JDK1.7之前的ConcurrentHashMap使用分段锁机制实现,JDK1.8则使用数组+链表+红黑树数据结构和CAS原子操作实现ConcurrentHashMap;本文将分别介绍这两种方式的实现方案及其区别原创 2024-06-23 16:04:10 · 962 阅读 · 0 评论 -
JUC锁: ReentrantReadWriteLock详解
ReentrantReadWriteLock表示可重入读写锁,ReentrantReadWriteLock中包含了两种锁,读锁ReadLock和写锁WriteLock,可以通过这两种锁实现线程间的同步。原创 2024-06-23 16:01:01 · 549 阅读 · 0 评论 -
JUC锁: ReentrantLock详解
可重入锁ReentrantLock的底层是通过AbstractQueuedSynchronizer实现,所以先要学习上一章节AbstractQueuedSynchronizer详解。@立刀旁。原创 2024-06-22 23:57:51 · 885 阅读 · 0 评论 -
JUC锁: 锁核心类AQS详解
AbstractQueuedSynchronizer抽象类是核心,需要重点掌握。它提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架。@立刀旁原创 2024-06-22 23:56:18 · 574 阅读 · 0 评论 -
JUC锁: LockSupport详解
LockSupport是锁中的基础,是一个提供锁机制的工具类,所以先对其进行分析。原创 2024-06-21 17:36:36 · 728 阅读 · 0 评论 -
JUC原子类: CAS, Unsafe和原子类详解
JUC中多数类是通过volatile和CAS来实现的,CAS本质上提供的是一种无锁方案,而Synchronized和Lock是互斥锁方案; java原子类本质上使用的是CAS,而CAS底层是通过Unsafe类实现的。所以本章将对CAS, Unsafe和原子类详解。原创 2024-06-21 17:32:55 · 931 阅读 · 0 评论 -
关键字: final详解
final 关键字看上去简单,但是真正深入理解的人可以说少之又少,读完本文你就知道我在说什么了。本文将常规的用法简化,提出一些用法和深入的思考。原创 2024-06-20 11:01:21 · 648 阅读 · 0 评论 -
关键字: volatile详解
本文介绍了volatile关键字, 相比Sychronized(重量级锁,对系统性能影响较大),volatile提供了另一种解决可见性和有序性问题的方案。原创 2024-06-20 10:29:35 · 655 阅读 · 0 评论 -
关键字: synchronized详解
在C程序代码中我们可以利用操作系统提供的互斥锁来实现同步块的互斥访问及线程的阻塞及唤醒等工作。在Java中除了提供Lock API外还在语法层面上提供了synchronized关键字来实现互斥同步原语, 本文将对synchronized关键字详细分析。原创 2024-06-19 09:50:23 · 845 阅读 · 0 评论 -
Java并发 - Java中所有的锁
Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8和Netty 3.10.6)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。原创 2024-06-19 09:46:28 · 1076 阅读 · 0 评论 -
Java 并发 - 线程基础
本文主要概要性的介绍线程的基础,为后面的章节深入介绍Java并发的知识提供基础。原创 2024-06-18 11:36:41 · 1047 阅读 · 0 评论 -
Java 并发 - 理论基础
本文从理论的角度引入并发安全问题以及JMM应对并发问题的原理原创 2024-06-18 11:31:41 · 1106 阅读 · 0 评论