Home  >  Article  >  Java  >  Java timer (Timer) and timer example code used in thread pool

Java timer (Timer) and timer example code used in thread pool

高洛峰
高洛峰Original
2017-01-11 15:51:391424browse

java Timer

Simple example code:

public class Test {
 
 
  public static void main(String[] args) {
 
 
    // Timer定时器
 
    Timer mTimer = new Timer();
    MyTack myTack = new MyTack();
    mTimer.schedule(myTack, 2000, 3000);//第一个参数是需要执行的任务 第二个参数是延迟多少时间最开始执行,第三个参数是执行完后多少时间后进行再次执行是一个周期性的
    Scanner mScanner = new Scanner(System.in);
    String exti = "";
    while(!exti.equals("1")){
      System.out.println("---->>");
      exti = mScanner.next();
    }
    System.out.println("关闭");
    mTimer.cancel();//关闭这个定时器
    mScanner.close();
  }
 
  static class MyTack extends TimerTask{
 
    @Override
    public void run() {
      System.out.println("执行任务");
 
    }
 
  }
}

Timer in the thread pool

public class Test {
 
  public static void main(String[] args) {
 
    // 定时器
    ScheduledExecutorService service = Executors.newScheduledThreadPool(3);
    service.scheduleWithFixedDelay(new MyRunnable(), 0, 10000,
        TimeUnit.MILLISECONDS);//一个参数是实例化一个runnable的对象,第二个参数是延迟多长时间后执行,第三个参数是执行一次后需要等待多长时间后执行第二次是一个周期性的,第四个参数是按类型算(毫秒,秒,分。。等其他的一些类型).
  }
 
}
 
//需要写一个实现runnable接口的类
public class MyRunnable implements Runnable {
 
  @Override
  public void run() {
    int index = 0;
    while (index++ < 100) {
      System.out.println(Thread.currentThread().getName()+" "+index);
      try {
        Thread.sleep(50);
      } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
    }
 
  }
 
}

More Java timers (Timer) and use in thread pools For articles related to timer example code, please pay attention to the PHP Chinese website!


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn