• HOME
  • SEARCH
  • TOPICS
  • DATA

  • Java 并发编程之 ConcurrentLinkedQueue 非阻塞队列

    介绍 ConcurrentLinkedQueue没有LinkedBlockingQueue类似的put和take等阻塞方法,所以是一个非阻塞的队列。 但和Lin

    2021-11-08, Views: 3263 , Topics: Java juc

  • Java 并发编程之 LinkedBlockingQueue 阻塞队列

    介绍 LinkedBlockingQueue的put和take为阻塞方法。 put:队列满时等待放入。 take:队列空时等待获取。 初始化 初始化链表。头节点

    2021-11-05, Views: 3033 , Topics: Java juc

  • Java 并发编程之 ConcurrentSkipListSet

    介绍 线程安全的排序集合。 原理 ConcurrentSkipListSet底层是使用ConcurrentSkipListMap实现。 public Concu

    2021-11-04, Views: 2542 , Topics: Java juc

  • Java 并发编程之 ConcurrentSkipListMap

    介绍 线程安全的排序集合。 跳跃列表 Head nodes Index nodes +-+ right +-+

    2021-11-03, Views: 3017 , Topics: Java juc

  • Java 并发编程之 CopyOnWriteArraySet

    介绍 线程安全的,适合并发的集合类,对比HashSet。 原理 底层实际就是CopyOnWriteArrayList。 具体可参考前一篇文章:Java 并发编程

    2021-11-02, Views: 2700 , Topics: Java juc

  • Java 并发编程之 CopyOnWriteArrayList

    介绍 线程安全的,适合并发的集合类,对比ArrayList。 读写分离 写操作是复制一份新的数组,读操作在原数组的快照中进行。 数据一致性 遍历时获取的是原数组

    2021-10-31, Views: 2996 , Topics: Java juc

  • Java 并发编程之 ConcurrentHashMap 1.8 源码分析

    Forwarding node 扩容时如果某个索引位置的节点迁移完毕,用ForwardingNode作为旧table的头节点。 get spread方法保证获取

    2021-10-30, Views: 2504 , Topics: Java juc

  • Java 并发编程之 ConcurrentHashMap 1.7 源码分析

    Segment JDK1.7中基于Segment数组实现。Segment类继承自ReentrantLock,增加了HashEntry数组。 Segment数组一

    2021-10-29, Views: 3104 , Topics: Java juc

  • Java 并发编程之 AQS CyclicBarrier 源码解析

    说明 CyclicBarrier与CountDownLatch的差别在于:CyclicBarrier可重复使用,而CountDownLatch在计数归0后就不能

    2021-10-13, Views: 2731 , Topics: Java juc AQS

  • Java 并发编程之 AQS CountDownLatch 源码解析

    init // java.util.concurrent.CountDownLatch#CountDownLatch public CountDownLatch

    2021-10-12, Views: 3065 , Topics: Java juc AQS

  • Java 并发编程之 AQS Semaphore 源码解析

    init // java.util.concurrent.Semaphore.Sync#Sync abstract static class Sync exte

    2021-10-11, Views: 3056 , Topics: Java juc AQS

  • Java 并发编程之 AQS ReentrantReadWriteLock 读写锁源码解析

    Read Lock public ReentrantReadWriteLock.ReadLock readLock() { return readerLoc

    2021-10-08, Views: 2618 , Topics: Java juc AQS

  • Java 并发编程之 AQS ReentrantLock await signal 源码解析

    说明 将ConditionObject中维护的队列称为条件队列。 将AQS中维护的Node队列称为同步队列。 await // java.util.concur

    2021-10-07, Views: 3103 , Topics: Java juc AQS

  • Java 并发编程之 AQS ReentrantLock 可中断锁源码解析

    部分源码 java.util.concurrent.locks.ReentrantLock#lockInterruptibly public void lock

    2021-10-06, Views: 2759 , Topics: Java juc AQS

  • Java 并发编程之 AQS ReentrantLock 公平锁源码解析

    部分源码 java.util.concurrent.locks.ReentrantLock.FairSync static final class FairSy

    2021-10-05, Views: 2979 , Topics: Java juc AQS

  • Java 并发编程之 AQS ReentrantLock 非公平锁源码解析

    说明 本文基于Java11。 部分源码 // java.util.concurrent.locks.AbstractQueuedSynchronizer pub

    2021-10-04, Views: 3327 , Topics: Java juc AQS

  • Java 并发编程之 happens-before 7 条规则

    定义 规定了对共享变量的写操作对其他线程的读操作可见。 它是可见性与有序性的一套规则总结。 synchronized 假设t1先执行:t1线程解锁m前对x变量的

    2021-09-28, Views: 2806 , Topics: Java juc

  • Java @Contended 避免缓存行伪共享

    相关名词 CPU缓存、缓存行、伪共享。 CPU 缓存 缓存行 Cache Line CPU读取内存数据时并非一次只读一个字节,而是会读一段字节长度(不同CPU

    2021-09-27, Views: 3385 , Topics: Java juc

  • Java 并发编程之 LongAdder 源码解析

    基本用法 public class LongAdderDemo { public static void main(String[] args) {

    2021-09-26, Views: 3020 , Topics: Java juc

  • Java 并发编程之 AtomicIntegerFieldUpdater AtomicLongFieldUpdater AtomicReferenceFieldUpdater

    说明 并发原子修改器,保证在多线程环境下对象中的字段的原子性。 示例 对象类 public class FieldUpdaterTest { vola

    2021-09-25, Views: 2521 , Topics: Java juc

  • First Prev
  • 1
  • 2
  • 3
  • 4
  • Next Last

©2026 沪ICP备18012661号-1 阿里云

Messages Sitemap GitHub