在一个实现中,我编写了以下代码。try-catch 块在一个方法中
try{
InputVals iv = task.getInputVals();
Map<String, String> map = iv.getAllValues();
String a = map.get("value1");
String b = map.get("value2");
String x = funcxy.methodGetX();
String y = funcxy.methodGetY();
iv.setValue(xval, x);
iv.setValue(yval,y);
String []names = {"name1", "name2", "name3"}
for(int i = 0; i<names.length; i++ ){
iv.setValue("name"+i, names[i] );
}
}
当我多次(并非总是)发出并发请求时,它会抛出“java.util.ConcurrentModificationException:并发访问hashmap”错误。我尝试使用
Map<String, String> map= new ConcurrentHashMap<String, String>();
map = iv.getAllValues();
但这并没有解决问题。你能帮帮我,让我知道我在哪里犯了错误。我不能改变的实施
InputVals iv = task.getInputVals();