Skip to content

Commit cc41f33

Browse files
committed
CopyOnWriteArrayList并发测试
1 parent f22c2c0 commit cc41f33

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

src/main/java/com/prd/concurrent/CopyOnWriteListTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@ private static void iterableAndRemove() {
8585
at java.util.concurrent.CopyOnWriteArrayList.remove(CopyOnWriteArrayList.java:495)
8686
at com.prd.concurrent.CopyOnWriteListTest.lambda$bothRemove$2(CopyOnWriteListTest.java:76)
8787
at java.lang.Thread.run(Thread.java:748)
88-
分析: 在线程A和线程B 同时删除时,因为删除时加锁的,不会造成数据安全性问题。但是由于时同步删除,造成部分数据没删除到,但是迭代时i值与实际大小不一致。
88+
分析: 在线程A和线程B 同时删除时,因为删除时加锁的,不会造成数据安全性问题。但是由于时同步删除,造成部分数据没删除到,同时迭代时i位置的元素不存在提示
89+
ArrayIndexOutOfBoundsException 异常。
8990
*/
9091
private static void bothRemove() {
9192
new Thread(()->{

0 commit comments

Comments
 (0)