public class HelloTimer { public static ConcurrentHashMap<String, Integer> task_map = new ConcurrentHashMap<String, Integer>(); public static void main(String[] args) throws InterruptedException { task_map.put("task_1", 1); final CountDownLatch latch = new CountDownLatch(1); ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor(); final ScheduledFuture<?> future = scheduler.scheduleAtFixedRate(new Runnable() { public void run() { System.out.println("time:"+System.currentTimeMillis()); int i = task_map.get("task_1"); System.out.println("aaaaaaaaaaaaaaaa"+i); i++; task_map.put("task_1", i); } }, 0,1, TimeUnit.SECONDS); scheduler.scheduleAtFixedRate(new Runnable() { public void run() { int i = task_map.get("task_1"); System.out.println("bbbbbbbbbbbbbbbb"); if (i==6) { future.cancel(true); latch.countDown(); } } },0,1,TimeUnit.SECONDS); // scheduler.schedule(new Runnable() { // public void run() { // future.cancel(true); // latch.countDown(); // } // },5,TimeUnit.SECONDS); latch.await(); scheduler.shutdown(); } }
相关推荐
Java定时器是Java编程语言中用于执行特定任务的调度工具,它允许程序员在指定的时间间隔后执行特定的代码块或任务。在Java中,我们主要使用`java.util.Timer`类和`java.util.TimerTask`类来实现定时器功能。这两个类...
Java定时器(java.util.Timer)是Java标准库中用于调度任务执行的重要工具,它允许我们按照预设的时间间隔执行特定的任务。在Java程序设计中,定时器常常用于实现周期性的任务,比如定时备份数据、定时检查系统状态...
JAVA定时器,只要服务开启,就能指定某些代码在某个时刻执行,例如:监狱里罪犯的余刑天数,每天都要减少,就可以设置一个定时器在每天的23:59:59来执行减少余刑天数的天。
Java定时器框架Quartz是Java开发中用于任务调度的一个强大工具,它允许开发者精确地控制任务的执行时间,包括一次性任务和周期性任务。Quartz以其灵活性和稳定性,在企业级应用中广泛使用,尤其在需要定期执行后台...