看了jdk的帮助,有一段示例代码:
Collection c = Collections.synchronizedCollection(myCollection);
...
synchronized(c) {
Iterator i = c.iterator(); // Must be in the synchronized block
while (i.hasNext())
foo(i.next());
}
既然c已经是经过同步包装后的,他的方法应该是线程安全的,为什么还要手工同步?请各位深入讲讲。
Collection c = Collections.synchronizedCollection(myCollection);
...
synchronized(c) {
Iterator i = c.iterator(); // Must be in the synchronized block
while (i.hasNext())
foo(i.next());
}
既然c已经是经过同步包装后的,他的方法应该是线程安全的,为什么还要手工同步?请各位深入讲讲。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货