
并发编程
木易九日111
这个作者很懒,什么都没留下…
展开
-
CountDownLatch的实现原理
CountDownLatch的实现原理CountDownLatch是一个同步计数器,能够保证在其他线程完成某一个业务操作前,当前线程一直处于等待/阻塞状态。具体来说,这个计数器将会从给定的某一个数值count开始,通过countDown()方法的调用进行倒数。当执行某一次countDown()操作后,计数器的count数值等于0,所有调用了await()方法的线程,就解除等待/阻塞状态继续执行。...原创 2019-07-19 16:03:23 · 202 阅读 · 0 评论 -
CyclicBarrier的使用和实现原理
CyclicBarrier的使用和实现原理它可以实现让一组线程等待至某个状态之后再全部同时执行。CountDownLatch 在于一定数量的线程执行完毕之后,另一个线程才能开始执行CyclicBarrier 在于凑齐一定数量的线程,让他们一起执行CyclicBarrier 还有不同于 CountDownLatch的是,它可以循环使用public class TestCyclicBarri...原创 2019-07-19 16:43:43 · 203 阅读 · 0 评论 -
volatile关键字
volatile关键字的作用1、保证数据在各个线程间的可见性2、禁止指令重排序依照我的理解,其实禁止指令重排序就是为了保证数据的可见性,保证缓存一致性,实现这两点都是使用了同一个方法就是加入了内存屏障1、内存屏障的是如何保证数据的可见性的详细参考:http://www.wowotech.net/kernel_synchronization/Why-Memory-Barriers.html...原创 2019-09-16 11:02:59 · 99 阅读 · 0 评论