并发
David_lou
这个作者很懒,什么都没留下…
展开
-
《java高并发编程详解》第7集:Atomic实现原子操作的原理
java的rt.jar包里面的并发工具类有Atomic开头的原子类package java.util.concurrent.atomic此路径下的原子类有天然的并发安全性,我们以AtomicInteger举例说明为什么原子类的操作是线程安全的。首先我们观察源码:AtomicInteger类有私有的常量属性 Unsafe类,用Unsafe的CAS操作来保证并发的安全。还有一个volatile 的value;表示真正的值所以我们看到AtomicInteger的基本操作方法:例如原创 2020-05-18 19:16:51 · 220 阅读 · 0 评论 -
《java高并发编程详解》第6集:ReadWriteLock设计思想
上一篇文章讲了ConrrentLinkedQueue的设计思想,本节简单介绍一下ReadWriteLock的设计思想在我们编码中会遇到一种情况,很多的线程读取共享数据,只有一小部分的线程修改共享数据,我们为了保证数据共享的可见性和整体性,更为了实现高效的并发,定一个ReadWriteLock接口ReadWirteLock定义了两个方法: /** * Returns the ...原创 2020-01-06 20:36:34 · 151 阅读 · 0 评论 -
《java高并发编程详解》第5集:ConcurrentLinkedQueue设计思路总结
上一篇ArrayBlockingQueue的设计思想简单的介绍了ArrayBlockingQueue依赖ReentrantLock解决读写同步的问题。被你文章介绍ConcurrentLinkedQueue的设计思路:ConcurrentLinkedQueue顾名思义是同步链表队列,实现先进先出的基本功能,新增Node插入队列尾部,从队列头部获取节点。首先看下ConcurrentLinkedQu...原创 2019-12-25 10:47:01 · 257 阅读 · 0 评论 -
《java高并发编程详解》第4集:ArrayBlockingQueue的设计思想
上一集ReentrantLock的设计思想和简单实现讲了ReentrantLock的设计思想和简单实现这几集我们简单的讲一下ArrayBlockingQueue设计思想和简单实现首先我们可以看下ArrayBlockingQueue的类图ArrayBlockingQueue的实例包含一个ReentrantLock和notEmpty/notFull两个Condition。为我们写入和读...原创 2019-12-24 17:18:19 · 196 阅读 · 0 评论 -
《java高并发编程详解》第3集:ReentrantLock的设计思想和简单实现
Java并发编程中一定会用到线程同步,同步就会用到锁资源ReentrantLock类是JUC包给定的一个工具锁,实现了公平锁和非公平锁,实现了可重入,实现了多等待队列ReentrantLock的基本设计图如下ReentrantLock其实依赖了AbstractQueuedSynchronizer类实现的多情况锁,而AbstractQueuedSynchronizer依赖了双向链表和...原创 2019-12-20 16:14:22 · 179 阅读 · 0 评论