Java使用Timer定时器效率低下,执行上万数据
各位大神你们好,目前小弟碰到一个棘手的问题,由于要实现多个定时任务,我在Listener中配了多个Timer,即调用了Timer1.schedule(new TimerTask1(),...),Timer2.shchedule(new TimerTask2())...每个Timer间隔60S执行一次,现在出现问题如下:由于TimerTask中执行的任务数据量很大,效率很低,经常执行不出结果,但是如果在网页上执行相同任务,效率比较高。如:我在网页上点按钮执行任务(更新5万条数据),执行大概2分钟就可以完成,但是在Timer定时任务中,执行相同操作,会消耗很长很长时间,甚至得不出结果。跪求解决方法,如何提高定时任务的效率。
另外问个弱弱的问题:执行10万甚至更多数据,目的:如果数据库中存在记录,更新;如果不存在,插入;
需要执行这个任务:1.遍历10万条数据,判断数据库中是否存在,设置存在与否标记;之后重新遍历数据,
switch(存在标记),执行对应插入还是更新操作。
2.遍历10万条数据,判断数据库中是否存在(调用函数),存在执行doUpdate()方法,不存在执行doInsert()方法
两种方法是否第二种更优?谢谢
求大神们指导