thread_Timer(线程中定时器)
2016-06-15 15:01
453 查看
package com.gzhs.zsd.thread;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
/***
* Timer定时器运用
* @author 谢泽鹏
* @version 1.0
*/
public class Traditional_Timer {
public static Integer count = 0;
public static void initData(){
while (true) {
try {
System.out.println("记录时间: " + new Date().getSeconds() + "秒");
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
//创建定时器(10秒钟后炸弹爆炸, 之后间隔5秒钟炸弹爆炸)
//构造函数1
//new Timer().schedule(task, time); task表示调度的任务, time表示调用时间
//new Timer().schedule(task, delay); task表示调度的任务, delay调用定时器延迟X秒调用(单位/毫秒)
//构造函数2
//new Timer().schedule(task, delay, period); task表示调度的任务, delay调用定时器延迟X秒调用(单位/毫秒), period之后每次调用定时器时间间隔时间
//new Timer().schedule(task, firstTime, period); task表示调度的任务, firstTime首次调用事件, period之后每次调用定时器时间间隔时间
new Timer().schedule(new TimerTask() {
@Override
public void run() {
System.out.println("炸弹爆炸 bombing !!!");
}
}, 10000, 5000);
Traditional_Timer.initData();
new Timer().schedule(new TimerTask() {
@Override
public void run() {
System.out.println("炸弹爆炸0 bombing !!!");
new Timer().schedule(new TimerTask() {
@Override
public void run() {
System.out.println("炸弹爆炸1 bombing !!!");
}
}, 2000);
}
}, 2000);
Traditional_Timer.initData();
//定时器3秒钟调用一次
class myTimerTask01 extends TimerTask{
@Override
public void run() {
System.out.println("炸弹 bombing !!! ");
new Timer().schedule(new myTimerTask01(), 3000);
}
}
new Timer().schedule(new myTimerTask01(), 3000);
Traditional_Timer.initData();
//定时器3秒调用后 6秒钟调用
class myTimerTask02 extends TimerTask{
@Override
public void run() {
count = (count + 1) % 2;
System.out.println("炸弹 bombing !!! ");
new Timer().schedule(new myTimerTask02(), 3000 + 3000 * count);
}
}
new Timer().schedule(new myTimerTask02(), 3000);
Traditional_Timer.initData();
}
}
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
/***
* Timer定时器运用
* @author 谢泽鹏
* @version 1.0
*/
public class Traditional_Timer {
public static Integer count = 0;
public static void initData(){
while (true) {
try {
System.out.println("记录时间: " + new Date().getSeconds() + "秒");
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
//创建定时器(10秒钟后炸弹爆炸, 之后间隔5秒钟炸弹爆炸)
//构造函数1
//new Timer().schedule(task, time); task表示调度的任务, time表示调用时间
//new Timer().schedule(task, delay); task表示调度的任务, delay调用定时器延迟X秒调用(单位/毫秒)
//构造函数2
//new Timer().schedule(task, delay, period); task表示调度的任务, delay调用定时器延迟X秒调用(单位/毫秒), period之后每次调用定时器时间间隔时间
//new Timer().schedule(task, firstTime, period); task表示调度的任务, firstTime首次调用事件, period之后每次调用定时器时间间隔时间
new Timer().schedule(new TimerTask() {
@Override
public void run() {
System.out.println("炸弹爆炸 bombing !!!");
}
}, 10000, 5000);
Traditional_Timer.initData();
new Timer().schedule(new TimerTask() {
@Override
public void run() {
System.out.println("炸弹爆炸0 bombing !!!");
new Timer().schedule(new TimerTask() {
@Override
public void run() {
System.out.println("炸弹爆炸1 bombing !!!");
}
}, 2000);
}
}, 2000);
Traditional_Timer.initData();
//定时器3秒钟调用一次
class myTimerTask01 extends TimerTask{
@Override
public void run() {
System.out.println("炸弹 bombing !!! ");
new Timer().schedule(new myTimerTask01(), 3000);
}
}
new Timer().schedule(new myTimerTask01(), 3000);
Traditional_Timer.initData();
//定时器3秒调用后 6秒钟调用
class myTimerTask02 extends TimerTask{
@Override
public void run() {
count = (count + 1) % 2;
System.out.println("炸弹 bombing !!! ");
new Timer().schedule(new myTimerTask02(), 3000 + 3000 * count);
}
}
new Timer().schedule(new myTimerTask02(), 3000);
Traditional_Timer.initData();
}
}
相关文章推荐
- java-模拟tomcat服务器
- Python3写爬虫(四)多线程实现数据爬取
- Mootools 1.2教程 定时器和哈希简介
- C#实现多线程的同步方法实例分析
- C#定时器和随机数
- 浅谈chuck-lua中的多线程
- C#简单多线程同步和优先权用法实例
- C#中Forms.Timer、Timers.Timer、Threading.Timer的用法分析
- 详解C#中的定时器Timer类及其垃圾回收机制
- C#多线程学习之(四)使用线程池进行多线程的自动管理
- C#多线程编程中的锁系统(三)
- 解析C#多线程编程中异步多线程的实现及线程池的使用
- C#使用timer实现的简单闹钟程序
- C#多线程学习之(六)互斥对象用法实例
- C#中timer定时器用法实例
- 基于一个应用程序多线程误用的分析详解
- C#多线程学习之(三)生产者和消费者用法分析
- C#多线程学习之(一)多线程的相关概念分析
- C#多线程之Thread中Thread.IsAlive属性用法分析
- linux网络编程----->高并发--->多线程并发服务器