为了账号安全,请及时绑定邮箱和手机立即绑定

JAVA中多线程使用线程不安全的容器会出现什么情况?

JAVA中多线程使用线程不安全的容器会出现什么情况?

qq_笑_17 2019-03-27 22:18:02
比如StringBuilder在多线程中使用会导致线程不安全,这个不安全会产生什么后果,是数据不正确或丢失.?
查看完整描述

3 回答

?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

会导致数据不一致喽,可能拿到的数据不准确不正确,至于造成啥影响全在你业务逻辑的控制了


查看完整回答
反对 回复 2019-04-17
?
www说

TA贡献1775条经验 获得超8个赞

比方说线程 A 正在遍历一个 List


for (int i = 0, max = list.size(); i < max; i++) {

    ...

}

遍历的过程中,来了个线程 B,把 list 里面删了个元素,那么线程 A 遍历到最后就会出现 IndexOutOfBoundsException,为什么,因为实际的元素的数量已经变成 max - 1 了啊。


查看完整回答
反对 回复 2019-04-17
  • 3 回答
  • 0 关注
  • 654 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号