Java multithreaded concurrent executorservice of task scheduling class

  • 2020-04-01 02:43:38
  • OfStack


package com.yao;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;

class BeeperControl {
 private final ScheduledExecutorService scheduler = Executors
   .newScheduledThreadPool(1);
 public void beepForAnHour() {
  final Runnable beeper = new Runnable() {
   public void run() {
    System.out.println("beep");
   }
  };
  final ScheduledFuture<?> beeperHandle = scheduler.scheduleAtFixedRate(
    beeper, 2, 10, TimeUnit.SECONDS);
  scheduler.schedule(new Runnable() {
   public void run() {
    beeperHandle.cancel(true);
    scheduler.shutdown();
   }
  }, 60, TimeUnit.SECONDS);
 }
}
public class ScheduledExecutorServiceDemo {
 public static void main(String[] args) {
  new BeeperControl().beepForAnHour();
 }
}


Related articles: