Vector.Itr 该类源码中的 synchronized 是为了?

2019-04-09 08:21:57 +08:00
 c4f36e5766583218

不知道什么关键字触发 403 Forbidden nginx 了,我一段段打

  1. java.util.Vector.Itr 源码里面好几处,这样写的作用是?
synchronized (Vector.this) {
1672 次点击
所在节点    Java
4 条回复
jsshaojinjie
2019-04-09 08:27:58 +08:00
是为了线程安全
c4f36e5766583218
2019-04-10 18:28:50 +08:00
fix: 打错了,是.join("")

@jsshaojinjie #1

* 哦,我搞错了,问题 1 应该是这样: 这样写是保证 Vector.Itr 创建的实例是线程安全的,比如 Vector.Itr#remove()方法内部```remove(lastRet);```不会并发导致数据多删,(线程安全并不是说不会报错,像 remove 的话还是可能 ArrayIndexOutOfBoundsException 的)
* 那问题 3 应该就是说 SynchronizedList 返回的 Iterator 并不一定是线程安全的

updated: 那看下问题 2 吧。
jsshaojinjie
2019-04-11 08:28:04 +08:00
@c4f36e5766583218 哪个是问题 2
c4f36e5766583218
2019-04-11 08:43:08 +08:00
@jsshaojinjie #3 问题 2=第 1 条附言

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/553193

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX