周期性任务执行池

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

package com.youkeda.test.threadpool;

public class Animal implements Runnable {

  private String name;

  private int speed;

  public Animal(String name, int speed) {
    this.name = name;
    this.speed = speed;
  }

  // 比赛长度
  public int length = 20;

  @Override
  public void run() {
    if (length > 0) {
      length -= speed;

      System.out.println(name + "跑了" + speed + "米,距离终点还有" + length + "米");
      if (length <= 0) {
        length = 0;
        System.out.println(name + "到达终点");
      }

    }
  }

}
package com.youkeda.test.threadpool;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

public class Track {
  private static final ScheduledExecutorService threadPool = Executors.newScheduledThreadPool(10);

  private static final String DATE_TIME = "yyyy-MM-dd HH:mm:ss";
  private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DATE_TIME);

  public static void main(String[] args) {
    System.out.println(LocalDateTime.now().format(formatter) + ": begin");

    Animal rabbit = new Animal("兔子", 5);
    Animal tortoise = new Animal("乌龟", 2);

    threadPool.scheduleAtFixedRate(rabbit, 1, 3, TimeUnit.SECONDS);
    threadPool.scheduleAtFixedRate(tortoise, 1, 1, TimeUnit.SECONDS);
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值