import java.util.concurrent.*;
import java.util.*;
import java.text.SimpleDateFormat;
public class Main {
public static void main(String[] args) {
// 创建一个固定大小的线程池:
ScheduledExecutorService spool = Executors.newScheduledThreadPool(4);
spool.scheduleAtFixedRate(new Task(), 0,
1, TimeUnit.SECONDS);
// 关闭线程池: //spool.shutdown();
}
class Task implements Runnable {
public static int i = 0;
static final SimpleDateFormat sdfDate = new SimpleDateFormat("HH:mm:ss.SSS");
Date st = new Date();
Date et = new Date();
@Override
public void run() {
Date t = new Date();
System.out.println("interval:" + (t.getTime() - st.getTime()) + "ms");
st = new Date(t.getTime());
System.out.println(sdfDate.format(st) + ":" + "start task " + Task.i);
try {
Thread.sleep(500 + (int) (Math.random() * 1000));
} catch (InterruptedException ignored) {
et = new Date();
System.out.println(sdfDate.format(et) + ":" + "end task " + Task.i++);
System.out.println("period:" + (et.getTime() - st.getTime()) + "ms\n");
Sign in to make a reply
Junes_99994
import java.util.concurrent.*;
import java.util.*;
import java.text.SimpleDateFormat;
public class Main {
public static void main(String[] args) {
// 创建一个固定大小的线程池:
ScheduledExecutorService spool = Executors.newScheduledThreadPool(4);
spool.scheduleAtFixedRate(new Task(), 0,
1, TimeUnit.SECONDS);
// 关闭线程池: //spool.shutdown();
}
}
class Task implements Runnable {
public static int i = 0;
static final SimpleDateFormat sdfDate = new SimpleDateFormat("HH:mm:ss.SSS");
Date st = new Date();
Date et = new Date();
@Override
public void run() {
Date t = new Date();
System.out.println("interval:" + (t.getTime() - st.getTime()) + "ms");
st = new Date(t.getTime());
System.out.println(sdfDate.format(st) + ":" + "start task " + Task.i);
try {
Thread.sleep(500 + (int) (Math.random() * 1000));
} catch (InterruptedException ignored) {
}
et = new Date();
System.out.println(sdfDate.format(et) + ":" + "end task " + Task.i++);
System.out.println("period:" + (et.getTime() - st.getTime()) + "ms\n");
}
}