• LinkedList(3):并发异常


    1 LinkedList并发异常

    1. package com.example.demo;
    2. import java.util.Iterator;
    3. import java.util.LinkedList;
    4. public class TestLinkedList {
    5. public static void main(String[] args) {
    6. LinkedList linkedList = new LinkedList(); //双向链表
    7. linkedList.add(11);
    8. linkedList.add(22);
    9. linkedList.add(33);
    10. //nextIndex : 0 next 第一号节点元素
    11. //lastReturned 记录返回值的对象
    12. // private int expectedModCount = modCount; 将记录链表长度发生变化次数的记录值赋值给 期望值 -> 程序在初始化的时候,那么他们一定是相等的
    13. Iterator iterator = linkedList.iterator();
    14. while (iterator.hasNext()){
    15. linkedList.add(10);
    16. System.out.println(iterator.next());
    17. }
    18. System.out.println(linkedList);
    19. }
    20. }

    在查询的时候进行插入,报错如下:

    因为在linklist初始化的时候,期望值expectedModCount和真实值modCount是一样的,而进行add()方法以后就不一样了。

     
    

    如下图,只改变了modCount的值。

    2 测试并发修改异常

    1. package com.example.demo;
    2. import java.util.LinkedList;
    3. import java.util.ListIterator;
    4. public class TestLinkedList {
    5. public static void main(String[] args) {
    6. LinkedList linkedList = new LinkedList(); //双向链表
    7. linkedList.add(11);
    8. linkedList.add(22);
    9. linkedList.add(33);
    10. //nextIndex : 0 next 第一号节点元素
    11. //lastReturned 记录返回值的对象
    12. // private int expectedModCount = modCount; 将记录链表长度发生变化次数的记录值赋值给 期望值 -> 程序在初始化的时候,那么他们一定是相等的
    13. ListIterator iterator = linkedList.listIterator();
    14. while (iterator.hasNext()){
    15. //hashNext 遍历链表长度的次数
    16. iterator.add(10);
    17. System.out.println(iterator.next());
    18. }
    19. System.out.println(linkedList);
    20. }
    21. }

    结果如下:

    这个add方法会对期望值和真实值同时进行修改,所以无异常。

  • 相关阅读:
    Himall商城Xml帮助类 XML序列化 OSS策略
    函数栈帧的创建和销毁
    分类算法实现
    docker容器
    PDF转PPT软件哪个好?这几款软件亲测实用
    21天经典算法之直接插入排序
    【MySql高级篇】基本硬件知识— 什么是CPU?什么是内外存储器?
    智慧灾备解决方案-最新全套文件
    【scikit-learn基础】--『监督学习』之 K-近邻分类
    目标检测YOLO实战应用案例100讲-基于单阶段网络的小目标检测(下)
  • 原文地址:https://blog.csdn.net/u013938578/article/details/132672101