【发布时间】:2016-11-18 00:35:26
【问题描述】:
我认为这可能是一件容易的事,但想知道是否有这种模式或优雅的方式。我看了看番石榴。 我有一个类级别的列表,一个在调度程序上引用这个 listOfObjects 的方法,以及一个在调度程序上更新它的方法。 updater 方法收集应该在此列表中的所有对象,并准备好重新初始化 listOfObjects 的新列表。但是,即使引用它的方法正在使用它,我是否应该设置它,还是有更安全的方法来做到这一点。
private List<Object> listOfObjects = new ArrayList<Object>();
@Scheduled
public referToList(){
for(Object o : listOfObjects){
doSomething(o);
}
}
@Scheduled
public updateList(){
List<Object> tempList = new ArrayList<Object>();
tempList = doSomethingToPopulateList();
this.listOfObjects = tempList;
}
因此,当referToList 可以在迭代过程中时,它可能的updateList 可以是更新列表。我也可以在 referToList 中创建一个临时列表,这样它就可以处理 listOfObjects 的副本,但不确定它的效率如何
【问题讨论】:
标签: java spring collections guava