并发编程
文章平均质量分 92
yxw678
这个作者很懒,什么都没留下…
展开
-
Synchronized与Lock的区别
Synchronized与Lock的区别1、原始构成:synchronized是关键字,属于JVM层面。monitorenter(底层是通过monitor对象来完成,其实wait/notify等方法也依赖于monitor对象,只有在同步块或方法中才能调用wait/notify等方法)monitorexitLock是具体的类(java.util.concurrent.locks.Lock),是API层面的锁。2、使用方法synchronized不需要用户去手动释放锁,当synchronized代原创 2020-06-21 23:37:45 · 184 阅读 · 0 评论 -
集合类的一些并发操作问题
线程不安全的集合类:ArrayList()LinkedList()HashSet()HashMap()TreeSet()TreeMap()并发操作集合类:ArrayList示例代码:/** * 集合类不安全的问题 * ArrayList */public class ContainerNotSafeDemo { public static void main(...原创 2020-03-15 23:32:59 · 253 阅读 · 0 评论 -
CAS原理
CAS是什么?CAS是比较并交换的意思,其全称为Compare-And-Swap,简称为CAS。实际上指的是原子类AtomicReference中的compareAndSet(V expect, V update)这个方法。其源码为: /** * Atomically sets the value to the given updated value * if the ...原创 2020-03-09 23:52:33 · 102 阅读 · 0 评论 -
Volatile
volatile是Java虚拟机提供的轻量级的同步机制。volatile的特性保证可见性不保证原子性禁止指令重排原创 2020-03-04 10:06:57 · 176 阅读 · 0 评论 -
JUC之CountDownLatch
CountDownLatch是一个同步计数器,属于同步工具类。CountDownLatch允许一个或多个线程阻塞,直到在其他线程中执行的一组操作完成为止。CountDownLatch的不足CountDownLatch被设计为只触发一次,计数值不能被重置。如果需要重置计数值,可以使用CyclicBarrier。CountDownLatch的用法用法1:将一个程序分为n个互相独立的可解决...原创 2020-02-28 10:51:42 · 145 阅读 · 0 评论