随笔分类 -  java并发

摘要:一、前言 有了前面分析的基础,现在,接着分析CyclicBarrier源码,CyclicBarrier类在进行多线程编程时使用很多,比如,你希望创建一组任务,它们并行执行工作,然后在进行下一个步骤之前等待,直至所有的任务都完成,和join很类似,下面,开始分析源码。 二、CyclicBarrier数 阅读全文
posted @ 2018-09-04 16:37 twoheads 阅读(324) 评论(0) 推荐(0)
摘要:概要: ReentrantLock类内部总共存在Sync、NonfairSync、FairSync三个类,NonfairSync与FairSync类继承自Sync类,Sync类继承自AbstractQueuedSynchronizer抽象类 对ReentrantLock类的操作大部分都直接转化为对S 阅读全文
posted @ 2018-09-04 15:26 twoheads 阅读(297) 评论(0) 推荐(0)
摘要:https://www.cnblogs.com/leesf456/p/5406191.html 阅读全文
posted @ 2018-08-31 16:59 twoheads 阅读(127) 评论(0) 推荐(0)
摘要:概述: 它内部实现主要是状态变量state和一个FIFO队列来完成,同步队列的头结点是当前获取到同步状态的结点,获取同步状态state失败的线程,会被构造成一个结点加入到同步队列尾部(采用自旋CAS来保证此操作的线程安全),随后线程会阻塞;释放时唤醒头结点的后继结点,使其加入对同步状态的争夺中。 它 阅读全文
posted @ 2018-08-31 10:44 twoheads 阅读(1036) 评论(0) 推荐(0)
摘要:答案:CountdownLatch阻塞主线程,等所有子线程完结了再继续下去。Syslicbarrier阻塞一组线程,直至某个状态之后再全部同时执行,并且所有线程都被释放后,还能通过reset来重用。 CyclicBarrier 的字面意思是可循环使用(Cyclic)的屏障(Barrier)。它要做的 阅读全文
posted @ 2018-08-29 17:41 twoheads 阅读(9013) 评论(0) 推荐(0)
摘要:因为在调用端的异步中,需要调用其他多个服务获取数据再汇总结果返回,所以用到了CountDownLatch CountDownLatch的概念 CountDownLatch是一个同步工具类,用来协调多个线程之间的同步,或者说起到线程之间的通信(而不是用作互斥的作用)。 CountDownLatch能够 阅读全文
posted @ 2018-08-29 15:31 twoheads 阅读(246) 评论(0) 推荐(0)