今天遇到了一个有趣的事情,使用加强fou循环操作list时,会报错并发操作异常。
直到看了编译类,才发现,加强fou循环其实就是通过迭代器操作:
这里就会出现一个问题,迭代器在取出值时,就回去检测这个乐观锁,就是操作次数,也可以叫它版本号,这里眼尖的同学就发现了,一旦执行了删除list某个元素方法,就会版本号+1.
但是迭代器记录的版本号任然是初始的,所以就报错啦。
今天遇到了一个有趣的事情,使用加强fou循环操作list时,会报错并发操作异常。
直到看了编译类,才发现,加强fou循环其实就是通过迭代器操作:
这里就会出现一个问题,迭代器在取出值时,就回去检测这个乐观锁,就是操作次数,也可以叫它版本号,这里眼尖的同学就发现了,一旦执行了删除list某个元素方法,就会版本号+1.
但是迭代器记录的版本号任然是初始的,所以就报错啦。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/549325.html
如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!