【发布时间】:2014-09-24 03:31:16
【问题描述】:
我的问题是:
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),
这仍然是一种覆盖方法吗?它会起作用吗?
【问题讨论】:
-
可以在这里找到类似的讨论:stackoverflow.com/questions/15998335/…。关键点是“同步”不是方法签名的一部分。所以答案是肯定的。
标签: java overriding synchronized