我想知道是否可以同时更新列表中的对象。例如,如果我有一个游戏列表(假设我有数千个这样的游戏)状态为“已启动”。根据游戏开始的时间我可以选择将状态更改为“END”,如果它在一段时间后经过,例如30秒。
这是我使用spring的例子
class Game{
Date startTime;
String status;
//setters and getters
}
class MyUpdateService{
private Dao dao;
public void updateActiveGames(){
List<Games> games = dao.getActiveGames();
for(Game g : games){
if(//current time >= 30 secs after startTeime){
g.setStatus("ENDED");
dao.update(g);
}
}
}
}
现在如果列表有数千个游戏对象,如果我使用for循环,列表末尾的游戏可能会传递30秒,所以我希望它同时更新它们。
答案 0 :(得分:0)
我会在您的DAO中执行批量更新。 例如:
Calendar cal = Calendar.getInstance();
cal.add(Calendar.SECOND,-30);
dao.updateStatusWithStartTime(cal.getTime(),"ENDED");
百里