1: 线程池 数量根据实际需要设置
private static ExecutorService executor = new ThreadPoolExecutor(30, 30, 60L, TimeUnit.SECONDS,new ArrayBlockingQueue<Runnable>(20));
2:在需要的地方使用内部类开启 线程
class ScheduleTask implements Runnable {
private Schedule schedule;
private Thread t;
// 构造函数 ,把需要的对象传过来
public ScheduleTask(Schedule schedule) {
super();
this.schedule = schedule;
}
@ Override
public void run() {
//需要执行的程序
taskService.generateScheduledTask(schedule);
}
void start() {
//启动线程
if (t == null) {
t = new Thread(this, “”);
t.start();
}
}
}
3:在需要的位置调用即可
ScheduleTask task=new ScheduleTask(schedule);
executor.execute(task);
4:这样以后就可以达到异步处理了。