方法1 ThreadPool tp = new ThreadPool(128); new Timer().schedule(new TimerTask() { @Override public void run() { System.out.println(new Date()); /* * List<Job> jobs = mapper.JobListNotDone(); for(Job job : jobs) { Task task = * new Task(job.getUuid()); tp.IssueOperation(task); } */ } },1000,3000); }
方法二 public class Main{ static class LongRunningTask extends TimerTask{ @Override public void run() { System.out.println("Long running finished"+DateUtil.now()); } /* * public static void main(String[] args){ int sleepTime=2*1000; * ScheduledExecutorService scheduledExecutor = * Executors.newSingleThreadScheduledExecutor(); * scheduledExecutor.scheduleAtFixedRate( new Runnable() { * * @Override public void run() { * System.out.println("ScheduledExecutorService方式執行一次定時任務"); } } ,1,sleepTime, * TimeUnit.SECONDS); } */ } static class FixedDelayTask extends TimerTask{ @Override public void run() { System.out.println(DateUtil.now()); } } public static void main(String[] args) { System.out.println(DateUtil.now()); ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(500); scheduledExecutorService.schedule(new LongRunningTask(),5000,TimeUnit.MILLISECONDS); scheduledExecutorService.schedule(new LongRunningTask(),10000,TimeUnit.MILLISECONDS); scheduledExecutorService.schedule(new LongRunningTask(),15000,TimeUnit.MILLISECONDS); //scheduledExecutorService.scheduleWithFixedDelay(new FixedDelayTask(),100,1000,TimeUnit.MILLISECONDS); } }
轉自
* https://blog.csdn.net/huawuqueisme/article/details/89715385?utm_medium=distribute.pc_relevant.none-task-blog-title-2&spm=1001.2101.3001.4242