高并发条件下使用ArrayList会导致线程共享数据安全问题,想要达到线程安全的目的可以使用一下三种方法。
1.使用Vector(比较low,所有方法使用synchronized修饰,锁粒度大,并发效率低)
2.集合工具类Collections中包含synchronized List,synchronizedSet,synchronizedMap等方法实现集合线程安全
3.使用java.util.concurrent包下的CopyOnWriteArrayList类,采用写时复制原理实现线程安全,成员变量array使用volatile保证数据的可见性,线程写数据时加锁
ArrayList线程安全用法
最新推荐文章于 2023-07-07 15:16:20 发布