![](https://img-blog.csdnimg.cn/dd35245eda4441c4872af0ae2a63b373.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JUC并发编程
文章平均质量分 85
JUC(Java.util.concurrent)并发编程框架,它提供了一系列的工具类和接口,用于简化并发编程的开发。后期陆续推出并发包内容详解,敬请期待。
码上团建
当你遇到问题时,我就是那个会在凌晨3点接到你电话的人,但不用担心,只要你请我喝杯咖啡,我就能帮你解决问题。我是那种能写出高质量代码的程序员,而且我还有一颗幽默的心,所以我的代码里总会有一些小彩蛋,让你在看代码时不会太无聊。我的技能树很广,我会Java、Python、c/c++、JavaScript等多种语言,我还会各种框架和库。如果你需要帮助,可以随时联系我,我会对你的问题进行深入分析,并提供最佳解决方案。
展开
-
【JUC并发】5. CAS乐观锁算法,一起来探索
CAS(Compare and Swap)算法,是一种非阻塞算法,用于实现多线程同步。它的原理是比较并交换,即先比较内存中的值是否与期望值相同,如果相同则更新为新值,否则不更新。在Java中,CAS算法被广泛应用于Atomic类中,如AtomicLong等。下面我们以为例,来详细介绍CAS算法的实现原理和使用方法。CAS算法是一种非阻塞算法,用于实现多线程同步。在Java中,CAS算法被广泛应用于Atomic类中,如AtomicLong等。原创 2023-05-17 11:45:00 · 164 阅读 · 0 评论 -
【JUC并发】4. atomic包各类原理详解,不容错过
包提供了一些基于CAS(Compare-and-Swap)算法的原子操作类,用于在多线程环境下进行原子操作,避免了使用等锁机制的开销和复杂性。以下是该包中一些常用的类及其实现原理。包提供了一些基于 CAS 算法的原子操作类,用于在多线程环境下进行原子操作。这些类的实现原理都是使用volatile修饰的基本类型变量或对象引用变量,同时使用 CAS 算法保证原子性。在使用这些原子操作类时,需要注意它们的线程安全性和使用方式。原创 2023-05-16 17:47:50 · 276 阅读 · 0 评论 -
【JUC并发】3. AQS不为认知的秘密!
AQS(AbstractQueuedSynchronizer)是JUC并发包中的一个核心类,它提供了一种实现同步器的框架,如Semaphore等都是基于AQS实现的。AQS的核心思想是维护一个双向链表,其中链表的每个节点都表示一个线程,线程通过竞争锁来加入到链表中,当锁被释放时,链表中的下一个线程可以获取到锁。同时,AQS还提供了Condition接口,用于实现等待/通知机制。AQS是JUC并发包中的一个核心类,它提供了一种实现同步器的框架,如Semaphore等都是基于AQS实现的。原创 2023-05-15 17:29:34 · 160 阅读 · 0 评论 -
【JUC并发】2. 不可不说的“锁”事,种类繁多,如何一一突破?
JUC 中常用的锁机制,不同的锁机制适用于不同的场景,开发人员应根据具体情况选择合适的锁机制。synchronized、ReentrantLock、Semaphore、CountDownLatch、CyclicBarrier使用说明原创 2023-05-12 17:12:12 · 304 阅读 · 0 评论 -
【JUC并发】1. ThreadLocal 原理、源码详解
ThreadLocal是Java中的一个线程本地变量类,它提供了一种线程安全的方式来存储线程局部变量。ThreadLocal的原理是将数据存储在每个线程自己的内存空间中,不同线程之间的数据互不干扰。使用ThreadLocal时需要注意对象不能被共享,需要及时清除,初始值可以通过重写initialValue方法来设置。原创 2023-05-10 18:04:29 · 37 阅读 · 0 评论