2021
07-17
07-17
Java多线程的同步优化的6种方案
目录概述读写锁ReetrantReadWriteLock读写锁状态的设计写时复制写时复制的特点Java写时复制容器类减小锁的粒度减小锁的占有时间锁粗化ThreadLocal总结概述处理器上的寄存器的读写的速度比内存快几个数量级,为了解决这种速度矛盾,在它们之间加入了高速缓存。加入高速缓存带来了一个新的问题:缓存一致性。如果多个缓存共享同一块主内存区域,那么多个缓存的数据可能会不一致,需要一些协议来解决这个问题。在Java内存模型中,分为...
继续阅读 >
目录一、线程互斥与同步二、synchronized三、轻量锁与偏向锁一、线程互斥与同步互斥:指的是多个线程不能同时访问共享变量同步:指的是多个线程按指定的顺序执行操作在同时有多个线程运行过程中,如何达到互斥和同步呢?加锁即可在此使用黑马笔记中room例子来说明锁。(ps:以前就了解锁,但总会记乱,发现使用形象化记忆后就很清楚)解决互斥锁就相当于上图的房子,里面放着会被并发访问的共享变量此时绿色区域(owne...