CopyOnWriteArrayList线程安全机制与性能分析.pdfVIP

  • 1
  • 0
  • 约1.93千字
  • 约 2页
  • 2026-07-09 发布于北京
  • 举报

CopyOnWriteArrayList线程安全机制与性能分析.pdf

/***创建一个空列表。*/

public

CopyOnWriteArrayList(){

setArray(newObject[0]);}

从上面这段构造函数的代码,就可以看出来,CopyOnWriteArrayList其实也是底层基于数

组来实现的,List数据结构,要实现各种线程安全性

/**数组,仅通过getArray/setArray。*/

privatetransientvolatileObject[]array;

的底层数据结构是数组,volatile,保证多线程读写的可见性,只要有一个线程修改了这

个数组,其他的线程立马是可以读到的

/**保护所有修改操作的锁*/finaltransient

ReentrantLocklock=newReentrantLock();

每个CopyOnWriteArrayList底层都对应一个数据结构,Object[]数组,同时还对应了一个

ReentrantLock独占锁,就是用独占锁来保证说要修改Object[]数组的时候,必须加独占锁,

此时只能有一个线程获取锁

独占锁保证了,只有一个线程可以来修改底层的数组里的数据。

增删改操作的时候

文档评论(0)

1亿VIP精品文档

相关文档