![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
Java基础
ꦿ๑簡單點๑
若不是为生活所迫,谁愿意让自己弄得一身才华!
展开
-
锁的分类
文章目录锁的分类一、乐观锁/悲观锁乐观锁悲观锁二、独享锁/共享锁独享锁共享锁三、互斥锁/读写锁四、可重入锁五、自旋锁六、偏向锁/轻量级锁/重量级锁七、分段锁八、公平锁/非公平锁锁的分类一、乐观锁/悲观锁乐观锁与悲观锁并不是特指某两种类型的锁,是人们定义出来的概念或思想,主要是指看待并发同步的角度乐观锁顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制。乐观锁适用于多读的应用类型,这样可以提原创 2020-06-24 15:41:46 · 265 阅读 · 0 评论 -
CyclicBarrier - 原理解读
CyclicBarrier是一个同步辅助类,它允许一组线程相互等待直到所有线程都到达一个公共的屏障点。在程序中有固定数量的线程,这些线程有时候必须等待彼此,这种情况下,使用CyclicBarrier很有帮助。这个屏障之所以用循环修饰,是因为在所有的线程释放彼此之后,这个屏障是可以重新使用的。屏障线程的运行时机:等待的线程数量=parties之后,CyclicBarrier打开屏障之前。一、使用场景...原创 2020-06-23 23:31:17 · 176 阅读 · 0 评论 -
CountDownLatch - 原理解读
CountDownLatch是一次性的,计数器的值只能在构造方法中初始化一次,之后没有任何机制再次对其设置值,当CountDownLatch使用完毕后,它不能再次被使用。一、使用场景用法一:某一线程在开始运行前等待n个线程执行完毕将CountDownLatch的计数器初始化为n:new CountDownLatch(n) ,每当一个任务线程执行完毕,就将计数器减1, countdownlatch.countDown(),当计数器的值变为0时,在CountDownLatch上 await() .原创 2020-06-23 23:28:52 · 11576 阅读 · 26 评论