日期:2014-05-19  浏览次数:20676 次

java 并发执行任务 怎么做?
我使用了Timer定时器 来定时执行任务,现在的问题是 我只做到了 定时执行单个任务,想问一下 如何同时执行多个任务,以下是我的代码 请指点一下 谢谢。
/**
 * 定时器
 * */
public class TimeThread extends Thread {  
  public void run() {  
 
  Timer time = new Timer();  
  TimerTask tst = new TimerTask();//定时执行Rptlog类中的run方法
  time.schedule(tst, 1000,10000);//1秒后执行,每10秒执行一次  
  }  

}

接下来是实际执行的类
public class TimerSendTask extends java.util.TimerTask{


public void run() {
TimerTask tt = new TimerTask();
for(int i=0;i<service.getList().size();i++){//循环查询任务
定时清理任务 实现代码段...
....
}
 
}
}
上面代码中的 service.getList().size(); 是获取所有任务列表 开始执行,但我希望通过查询所有的任务 然后给每个任务单独的空间(或者说是线程)去执行 最好可以在我的代码基础上修改一下.谢谢 对并发任务处理不太了解.

------解决方案--------------------
建议你考虑下 Spring的quartz
------解决方案--------------------
多线程呗,LS的可以用
------解决方案--------------------
探讨

ScheduledExecutorService executor = Executors.newScheduledThreadPool(int corePoolSize)
executor.shedule...


Timer就不要去用了,会有诸多问题的,尤其是定时执行多个任务