1、什么是任务调度
2、JDK任务调度工具
3、线程
public class Demo01 {
static long count = 0;
public static void main(String[] args) {
Runnable runnable = new Runnable() {
@Override
public void run() {
while (true) {
try {
Thread.sleep(1000);
count++;
System.out.println(count);
} catch (Exception e) {
}
}
}
};
Thread thread = new Thread(runnable);
thread.start();
}
}
4、TimerTask
package cn.enjoy.jobs.feiji;
import org.junit.Test;
import java.util.Timer;
import java.util.TimerTask;
public class Demo02 {
static long count = 0;
@Test
public void test1() throws InterruptedException {
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
count++;
System.out.println(count);
}
};
Timer timer = new Timer();
long delay = 0;
long period = 1000;
timer.scheduleAtFixedRate(timerTask, delay, period);
Thread.sleep(Integer.MAX_VALUE);
}
@Test
public void test2() throws InterruptedException {
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
count++;
System.out.println(count);
}
};
TimerTask timerTask2 = new TimerTask() {
@Override
public void run() {
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
count++;
System.out.println(count);
}
};
Timer timer = new Timer();
long delay = 0;
long period = 1000;
timer.scheduleAtFixedRate(timerTask, delay, period);
timer.scheduleAtFixedRate(timerTask2, delay, period);
Thread.sleep(Integer.MAX_VALUE);
}
@Test
public void test3() throws InterruptedException {
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
count++;
System.out.println(count);
}
};
TimerTask timerTask3 = new TimerTask() {
@Override
public void run() {
count++;
System.out.println(count);
if(count ==2) {
int i = 10/0;
}
}
};
Timer timer = new Timer();
long delay = 0;
long period = 1000;
timer.scheduleAtFixedRate(timerTask, delay, period);
timer.scheduleAtFixedRate(timerTask3, delay, period);
Thread.sleep(Integer.MAX_VALUE);
}
}