【发布时间】:2015-10-16 09:39:47
【问题描述】:
我有一个Strings 的ArrayList,两个线程同时访问该列表。
以下 sn-p 的输出是什么,为什么?
public static void main(String[] args) {
final ArrayList<String> list = new ArrayList<String>();
for (int i = 0; i < 100; i++) {
list.add("Number" + i);
}
new Thread() {
public void run() {
for (String s : list) {
System.out.println(s);
}
}
}.start();
new Thread() {
public void run() {
list.remove("Number5");
}
}.start();
}
我尝试使用相同的代码使Arraylist 与Collections.synchronizedList(list) 同步。它还在抛出java.util.ConcurrentModificationException。
【问题讨论】:
-
你的意思是问“这个函数线程安全吗”?
标签: java multithreading synchronized