我的问题是:
search_text.addModifyListener(new ModifyListener() {
@Override
public void modifyText(ModifyEvent e) {
ArrayList<Object> GPDMvalue = (ArrayList<Object>) multiSortList.getValue();
ArrayList<Map<String, Object>> valueList = getDefaultValue(GPDMvalue);
multiSortList.clear();
if(getGPDMList().size()==0)return;
multiSortList.setDataSource(getGPDMList());//new thread 1
multiSortList.setDefaultOrAddValue(valueList);//new thread 2
}
});
当文本变化太快时,线程1或线程2不能完全执行,可能存在一些问题,所以我想像这样添加
synchronized
public synchronized void modifyText(ModifyEvent e)
,这仍然是一种替代方法,它将起作用吗?
最佳答案
添加synchronized
关键字不会妨碍覆盖方法(仍被覆盖),因为method's signature保持不变。
有关更多详细信息,请参见JLS-§9.4.1.3。