Java 多线程学习笔记二十一(CopyOnWriteArrayList)
内容来自B站【狂神说Java】多线程详解
内容
- java.util.concurrent是java并发包,是关于并发编程的,Callable也是在这个包下。
- 这个包下的CopyOnWriteArrayList就是线程安全的。
- CopyOnWriteArrayList源码中有volatile修饰,
private transient volatile Object[] array;
。
代码演示
package com.example.demo.thread.sync;
import java.util.concurrent.CopyOnWriteArrayList;
public class TestJUC {
public static void main(String[] args) {
CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<>();
for (int i = 0; i < 20000; i++) {
new Thread(() -> list.add(Thread.currentThread().getName())).start();
}
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("集合元素的数量:" + list.size());
}
}
输出
集合元素的数量:20000