当前位置: 首页 > news >正文

LinkedList(3):并发异常

1 LinkedList并发异常

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

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

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

 

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

2 测试并发修改异常

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

结果如下:

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

http://www.lryc.cn/news/154322.html

相关文章:

  • vue里el-form+el-table实现验证规则的写法
  • K8S 基础概念学习
  • Java之正则表达式的详细解析
  • 移动端的屏幕分辨率与浏览器的视口宽度(视口大小)是两回事儿
  • 分布式 - 服务器Nginx:基础系列之Nginx静态资源优化配置指令sendfile | tcp_nopush | tcp_nodelay
  • Sentinel配置的blockHandler方法不生效
  • Mybatis的三种映射关系以及联表查询
  • 基于串口校时的数字钟设计
  • 支持向量机(二)
  • Arrays.asList 和 null 类型
  • 《论文阅读》用提示和释义模拟对话情绪识别的思维过程 IJCAI 2023
  • 【AI】机器学习——绪论
  • linux 查看端口占用
  • modernC++手撸任意层神经网络22前向传播反向传播梯度下降等23代码补全的例子0901b
  • tkinter控件样式
  • 【linux命令讲解大全】042. 深入了解 which 命令:查找和显示命令的绝对路径
  • 实战项目 在线学院之集成springsecurity的配置以及执行流程
  • 【ARM CoreLink CCI-400 控制器简介】
  • Linux xargs命令继续学习
  • 【广州华锐互动】数字孪生智慧楼宇3D可视化系统:掌握实时运行状态,优化运营管理
  • 20230904工作心得:集合应该如何优雅判空?
  • 使用Python进行健身手表数据分析
  • 什么是malloxx勒索病毒,服务器中malloxx勒索病毒了怎么办?
  • CocosCreator3.8研究笔记(六)CocosCreator 脚本装饰器的理解
  • docker login harbor http login登录
  • day5 qt
  • 【80天学习完《深入理解计算机系统》】第十三天 3.7 缓冲区溢出 attack lab
  • Hadoop生态之hive
  • AWS DynamoDB浅析
  • Linux安装ffmpeg