我有以下课程
public class Example{
public static List<String> list = new ArrayList<String>();
public static void addElement(String val){
synchronized(list){
list.add(val);
}
}
public static synchronized void printElement(){
Iterator<String> it = list.iterator();
while(it.hasNext()){
//print element
}
}
}
printElement方法中的iterator()调用会抛出ConcurrentModificationException吗?基本问题是如果获得类对象的锁定(如在 printElement 方法中所做的那样),它是否也会锁定类成员/变量?请帮我解答。