newScheduledThreadPool
/*
* 计时器线程池
* 四个线程可以重复使用,不创建新的线程
*/
package java_key_value;
import java.util.Random;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class SchedulePool_value {
public static void main(String[] args) {
/*
* 计时器线程池
* 四个线程可以重复使用,不创建新的线程
*/
ScheduledExecutorService service=Executors.newScheduledThreadPool(4);
/*
* scheduleAtFixedRate:以固定的频率来执行某个任务
* 用处:定时任务
* 四个参数
* 1:任务----run()方法
* 2:第一个任务多久执行---0:马上执行
* 3:每隔多长时间执行这个任务---500--每隔500毫秒,任务重复执行
* 4:时间单位是多少--TimeUnit.MILLISECONDS--指定时间单位毫秒
*/
service.scheduleAtFixedRate(new Runnable() {
public void run() {
try {
TimeUnit.MILLISECONDS.sleep(new Random().nextInt(1000)); //睡一秒钟
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName());
}
}, 0, 500, TimeUnit.MILLISECONDS);
}
}