-- java的线程:
package com.test;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class ThreadTest {
public static void main(String[] args) {
printHelleo();
timerTest();
task3();
}
public static void printHelleo(){
final long timeInterval = 1000;
new Thread(){
public void run() {
System.out.println("--->第一种方法跑了,当前时间是:"+new Date());
// System.out.println("当前线程id是:"+this.getId());
try {
Thread.sleep(timeInterval);
printHelleo();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}.start();
}
public static void printHelleo2(){
final long timeInterval = 10000;
new Thread(){
public void run() {
while (true){
System.out.println("---->Hello !!"+new Date());
System.out.println("---》10s到了,开始更新数据");
try {
Thread.sleep(timeInterval);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}.start();
}
/**
* 用TimerTask定时
* @Title: timerTest
* @Description: (这里用一句话描述这个方法的作用)????
* @return void??? 返回类型?
* @date 2017年8月24日 下午3:32:52
* @throws?
*/
public static void timerTest(){
TimerTask task = new TimerTask() {
public void run() {
// task to run goes here
System.out.println("---->第二种方法task启动,当前时间是:"+new Date());
}
};
Timer timer = new Timer();
long delay = 0;
long intevalPeriod = 1 * 1000;
timer.scheduleAtFixedRate(task, delay, intevalPeriod);
}
public static void task3(){
System.out.println("当前时间是:"+new Date());
Runnable runnable = new Runnable() {
public void run() {
// task to run goes here
System.out.println("-----》第三种方法跑了-----");
System.out.println("当前时间是:"+new Date());
}
};
ScheduledExecutorService service = Executors
.newSingleThreadScheduledExecutor();
// 第二个参数为首次执行的延时时间,第三个参数为定时执行的间隔时间
//command--这是被调度的任务。
//initialDelay--这是以毫秒为单位的延迟之前的任务执行。
//period--这是在连续执行任务之间的毫秒的时间。
service.scheduleAtFixedRate(runnable, 1, 1, TimeUnit.SECONDS);
}
}