Heim  >  Artikel  >  Java  >  Java-Timer (Timer) und Timer-Beispielcode, der im Thread-Pool verwendet wird

Java-Timer (Timer) und Timer-Beispielcode, der im Thread-Pool verwendet wird

高洛峰
高洛峰Original
2017-01-11 15:51:391419Durchsuche

Java-Timer-Timer

Einfacher Beispielcode:

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 im 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();
      }
    }
 
  }
 
}

Weitere Java-Timer (Timer) und Artikel zur Verwendung Timer-Instanzcode im Thread-Pool, achten Sie bitte auf die chinesische PHP-Website!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn