关于Vector到底是不是 线程安全的 问题
答案:2 悬赏:30
解决时间 2021-02-03 19:22
- 提问者网友:故事与他
- 2021-02-03 15:54
关于Vector到底是不是 线程安全的 问题
最佳答案
- 二级知识专家网友:哭不代表软弱
- 2021-02-03 16:24
虽然源代码注释里面说这个是线程安全的,因为确实很多方法都加上了同步关键字synchronized,但是对于符合操作而言,只是同步方法并没有解决线程安全的问题。
要真正达成线程安全,还需要以vector对象为锁,来进行操作。
所以,如果是这样的话,那么用vector和ArrayList就没有区别了,所以,不推荐使用vector。
要真正达成线程安全,还需要以vector对象为锁,来进行操作。
所以,如果是这样的话,那么用vector和ArrayList就没有区别了,所以,不推荐使用vector。
全部回答
- 1楼网友:狙击你的心
- 2021-02-03 17:18
线程安全性不是一个非真即假的命题,vector 的方法都是同步的,并且 vector 明确地设计为在多线程环境中工作。但是它的线程安全性是有限制的,即在某些方法之间有状态依赖(类似地,如果在迭代过程中 vector 被其他线程修改,那么由 vector.iterator() 返回的 iterator会抛出concurrentmodifiicationexception)
以上是我在百度百科里面看到的一段话,就是stl当有两个线程对同一个容器进行写操作时就会以抛出异常的方式去阻止这种破坏安全性的操作行为
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |