jcu
varyall
这个作者很懒,什么都没留下…
展开
-
JCU并发包原理总结
CountDownLatch类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了。await() //调用await()方法的线程会被挂起,它会等待直到count值为0才继续执行countDown() //将count值减1 CyclicB...转载 2018-05-04 23:30:09 · 1212 阅读 · 0 评论 -
Java中可重入锁ReentrantLock原理剖析
一、 概述本文首先介绍Lock接口、ReentrantLock的类层次结构以及锁功能模板类AbstractQueuedSynchronizer的简单原理,然后通过分析ReentrantLock的lock方法和unlock方法,来解释ReentrantLock的内部原理,最后做一个总结。本文不涉及ReentrantLock中的条件变量。1.1、Lock接口Lock接口,是对控制并发的工具的抽象。它比...转载 2018-05-04 23:53:19 · 159 阅读 · 0 评论 -
ConcurrentHashMap源码剖析
ConcurrentHashMap是Java5中新增加的一个线程安全的Map集合,可以用来替代HashTable。对于ConcurrentHashMap是如何提高其效率的,可能大多人只是知道它使用了多个锁代替HashTable中的单个锁,也就是锁分离技术(Lock Stripping)。实际上,ConcurrentHashMap对提高并发方面的优化,还有一些其它的技巧在里面(比如你是否知道在get...转载 2018-05-05 00:19:25 · 186 阅读 · 0 评论 -
ConcurrentHashMap实现原理及源码分析
ConcurrentHashMap是Java并发包中提供的一个线程安全且高效的HashMap实现(若对HashMap的实现原理还不甚了解,可参考我的另一篇文章HashMap实现原理及源码分析),ConcurrentHashMap在并发编程的场景中使用频率非常之高,本文就来分析下ConcurrentHashMap的实现原理,并对其实现原理进行分析(JDK1.7).ConcurrentHashMap...转载 2018-05-05 00:47:47 · 179 阅读 · 0 评论 -
第十章 五种并发包总结
1、常用的五种并发包ConcurrentHashMapCopyOnWriteArrayListCopyOnWriteArraySetArrayBlockingQueueLinkedBlockingQueue2、ConcurrentHashMap线程安全的HashMap的实现数据结构:一个指定个数的Segment数组,数组中的每一个元素Segment相当于一个HashTable(一个HashEntr...转载 2018-05-12 01:20:56 · 668 阅读 · 0 评论 -
java 并发包 多线程 工具类 笔记
JDK 线程池 Executors.newCachedThreadPool(); //带缓存的 不够时自动添加Executors.newSingleThreadExecutor(); //单个线程池 线程死掉后自动创建Executors.newFixedThreadPool(10); //创建容纳N个线程的Executors.newScheduledThreadPool(19); //创建定时...转载 2018-05-12 01:22:32 · 189 阅读 · 0 评论 -
Future任务机制: Fork/Join 框架
Future任务机制和FutureTask化繁为简,分而治之,递归的分解和合并,直到任务小到可以接受的程度。Fork/Join 框架是Java7提供的一个用于并行执行任务的框架。是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。Fork 就是把大任务切分为若干子任务并行的执行Join 就是合并这些子任务的执行结果,最后得到这个大任务的结果。1 public inter...转载 2018-05-12 01:27:17 · 666 阅读 · 0 评论 -
Java并发编程:并发容器之CopyOnWriteArrayList(转载)
Java并发编程:并发容器之CopyOnWriteArrayList(转载) 原文链接: http://ifeve.com/java-copy-on-write/ Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从J...转载 2018-05-29 10:35:24 · 114 阅读 · 0 评论 -
Java并发-ReentrantReadWriteLock源码分析
作者:chenssy来源:http://cmsblogs.com/?p=2213重入锁ReentrantLock是排他锁,排他锁在同一时刻仅有一个线程可以进行访问,但是在大多数场景下,大部分时间都是提供读服务,而写服务占有的时间较少。然而读服务不存在数据竞争问题,如果一个线程在读时禁止其他线程读势必会导致性能降低。所以就提供了读写锁。读写锁维护着一对锁,一个读锁和一个写锁。通过分离读锁和写锁,使得...转载 2018-06-24 12:53:20 · 185 阅读 · 0 评论