长话短说 CopyOnWrite 思想及其应用场景

长话短说 CopyOnWrite 思想及其应用场景。

CopyOnWrite(写入时复制)思想
CopyOnWrite(简称COW,中文意思是:写入时复制)就是在进行写操作时,先复制要改变的对象,对副本进行写操作,完成对副本的操作后,把原有对象的引用指向副本对象。

长话短说 CopyOnWrite 思想及其应用场景_第1张图片

CopyOnWrite采用了读写分离的思想解决了线程安全且支持读多写少等问题

关键点:

CopyOnWrite适用于读多写少的情况,最大程度的提高读的效率;

CopyOnWrite是最终一致性,在写的过程中,原有的读的数据是不会发生更新的,只有新的读才能读到最新数据;

如何使其他线程能够及时读到新的数据,需要使用volatile变量;

写的时候不能并发写,需要对写操作进行加锁;


CopyOnWriteArrayList的实现原理:

/** The lock protecting all mutators */
    final transient ReentrantLock lock = new ReentrantLock

你可能感兴趣的:(架构师成长之路,CopyOnWrite,思想原理,应用场景,并发,多线程,读写分离,线程安全)