一、线程循环
package com.test.timetask;
public class ThreadLine {
@SuppressWarnings("deprecation")
public static void gorun(int i) {
final long timeInterval = 5 * 1000;
Runnable runnable = new Runnable() {
@Override
public void run() {
int j = 1;
while (true) {
System.out.println("某某第" + j++ + "次循环!");
try {
Thread.sleep(timeInterval);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
};
Thread thread = new Thread(runnable);
if (i > 0) {
thread.stop();
} else {
thread.start();
}
}
public static void test() {
while (true) {
System.out.println("nihao");
try {
Thread.sleep(7000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void main(String[] args) {
test();
}
}
二、TimerTask
package com.test.timetask;
import java.util.Timer;
import java.util.TimerTask;
public class TimerTask1 extends TimerTask {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("cencen");
}
public static void main(String[] args) {
TimerTask1 task1 = new TimerTask1();
Timer timer = new Timer(false);
long delay = 0;
long intevalPeriod = 3 * 1000;
// schedules the task to be run in an interval
timer.schedule(task1, delay, intevalPeriod);
// timer.cancel();
}
// end of main
}
三、scheduleAtFixedRate
package com.test.timetask;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class TimerTask3{
public static void main(String[] args) {
Runnable runnable = new Runnable() {
public void run() {
// task to run goes here
System.out.println("Hello !!");
}
};
ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();
//任务,启动多久开始执行,执行的时间间隔,时间单位
service.scheduleAtFixedRate(runnable, 6, 5, TimeUnit.SECONDS);
}
}