package test;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class test {
public static void main(String[] args) {
//1. schedule(TimerTask task, long delay) 延迟 delay 毫秒 执行
for (int i = 0; i < 10; ++i) {
new Timer("timer - " + i).schedule(new TimerTask() {
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + " run ");
}
}, 1000*i);
}
//2. schedule(TimerTask task, Date time) 特定時間執行
for (int i = 0; i < 10; ++i) {
new Timer("timer - " + i).schedule(new TimerTask() {
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + " run ");
}
}, new Date(System.currentTimeMillis() + 2000*i));
}
//3. schedule(TimerTask task, long delay, long period) 延迟 delay 执行并每隔period 执行一次
for (int i = 0; i < 10; ++i) {
new Timer("timer - " + i).schedule(new TimerTask() {
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + " run ");
}
}, 2000*i , 1000);
}
}
}
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class test {
public static void main(String[] args) {
//1. schedule(TimerTask task, long delay) 延迟 delay 毫秒 执行
for (int i = 0; i < 10; ++i) {
new Timer("timer - " + i).schedule(new TimerTask() {
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + " run ");
}
}, 1000*i);
}
//2. schedule(TimerTask task, Date time) 特定時間執行
for (int i = 0; i < 10; ++i) {
new Timer("timer - " + i).schedule(new TimerTask() {
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + " run ");
}
}, new Date(System.currentTimeMillis() + 2000*i));
}
//3. schedule(TimerTask task, long delay, long period) 延迟 delay 执行并每隔period 执行一次
for (int i = 0; i < 10; ++i) {
new Timer("timer - " + i).schedule(new TimerTask() {
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + " run ");
}
}, 2000*i , 1000);
}
}
}
补充:
import java.util.Timer类有多个构造方法:
Timer()
默认构造函数。
Timer(boolean)
指定关联线程是否作为daemon线程。
Timer(String)
指定关联线程的名称。
Timer(String, boolean)
同时指定关联线程的名称和是否作为daemon。