package cn.threadtest.thread;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask; public class TraditionalTimerTest { /**
* @param args
*/ //每隔2秒,4秒炸方法1
// static int count = 0; //每隔2秒,4秒炸方法2
static class MyTimerTask1 extends TimerTask { public void run() { System.out.println("bombing!");
new Timer().schedule(new MyTimerTask2(), 2000); }
} static class MyTimerTask2 extends TimerTask { public void run() { System.out.println("bombing!");
new Timer().schedule(new MyTimerTask1(), 4000); }
}
//每隔2秒,4秒炸方法2结束 public static void main(String[] args) { //1第10秒和第13秒炸
// new Timer().schedule(new TimerTask() {
//
// public void run() {
// // TODO Auto-generated method stub
// System.out.println("bombing!");
// }
// }, 10000,3000); // new Timer().schedule(new TimerTask() {
//
// public void run() {
// // TODO Auto-generated method stub
// System.out.println("bombing!");
// new Timer().schedule(/*new TimerTask(){
// public void run() {
// System.out.println("bombing2!");
// };
// }*/this, 2000);
// }
// }, 2000); // //每隔2秒炸开始
// class MyTimerTask extends TimerTask {
//
// public void run() {
// // TODO Auto-generated method stub
// System.out.println("bombing!");
// new Timer().schedule(/*new TimerTask(){
// public void run() {
// System.out.println("bombing2!");
// };
// }*/new MyTimerTask(), 2000);
//
// }
// }
//new Timer().schedule(new MyTimerTask(), 2000);
//每隔2秒炸结束
// //每隔2秒,4秒炸开始方法1
// class MyTimerTask extends TimerTask {
//
//
// public void run() {
//
// count=(count+1)%2;
//
// // TODO Auto-generated method stub
// System.out.println("bombing!");
// new Timer().schedule(/*new TimerTask(){
// public void run() {
// System.out.println("bombing2!");
// };
// }*/new MyTimerTask(), 2000+2000*count);
//
// }
// }
// new Timer().schedule(new MyTimerTask(), 2000);
//每隔2秒,4秒炸方法1结束 //每隔2秒,4秒炸方法2 new Timer().schedule(new MyTimerTask2(), 2000); //每隔2秒,4秒炸方法2结束 while(true){
System.out.println(new Date().getSeconds());
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} } }

java定时器demo的更多相关文章

  1. java定时器和多线程实践记录

    这几天因为需要测试mongodb读写分离的问题,因此写了个定时查询程序,并且用到了多线程,以达到定时启动多个线程查询数据库的效果,下边代码记录备忘: package timmer; import ja ...

  2. java定时器,Spring定时器和Quartz定时器

    一.java定时器的应用 其实java很早就有解决定时器任务的方法了,java提供了了类java.util.TimerTask类基于线程的方式来实现定时任务的操作,然后再提供java.util.Tim ...

  3. Java定时器:Timer

    项目中往往会遇到需要定时的任务,例如订单,当用户在某个规定时间内没有操作订单时,订单状态将会发生改变. 那么在这种情况下,我们会用到定时器. 举例: import java.util.Timer; / ...

  4. Java定时器应用

    在Java多线程中,有的时候,我们需要按照指定间隔时间来执行一些任务,这时,我们就要用到定时器.我们在这里以Java中的Timer定时器为例,演示定时器的应用. 请看下述代码: import java ...

  5. java定时器实现总结

    前言:Java定时器目前主要有3种实现方式:JDK组件,Spring Task,Quartz框架. 1. JDK组件(1) java.util.TimerTask MyTimerTask.java: ...

  6. 微信公众号Java接入demo

    微信公众号Java接入demo 前不久买了一台服务,本来是用来当梯子用的,后来买了一个域名搭了一个博客网站,后来不怎么在上面写博客一直闲着,最近申请了一个微信公众号就想着弄点什么玩玩.周末没事就鼓捣了 ...

  7. Java定时器TimeTask

    package com.alan.timer; import java.util.Calendar;import java.util.Date;import java.util.Timer;impor ...

  8. Java定时器Timer

    Java定时器Timer在JDK库中,Timer类主要负责计划任务的功能,也就是在指定的时开始执行某一个任务.Timer类的主要作用就是设置计划任务,但封装任务的类却是TimerTask类,执行计划任 ...

  9. Kafka2.4发布——新特性介绍(附Java Api Demo代码)

    新功能 允许消费者从最近的副本进行获取 为 Consumer Rebalance Protocol 增加对增量协同重新均衡(incremental cooperative rebalancing)的支 ...

随机推荐

  1. ICPC 2018 焦作区域赛

    // 2019.10.7 练习赛 // 赛题来源:2018 ICPC 焦作区域赛 // CF链接:http://codeforces.com/gym/102028 A Xu Xiake in Hena ...

  2. linux就该这么学--资料整理--持续更新

    基础命令 服务管理 systemctl redhat7 systemctl start foo.service 启动服务 systemctl restart foo.service 重启服务 syst ...

  3. Spring源码分析(一):从哪里开始看spring源码(系列文章基于Spring5.0)

    概述 对于大多数第一次看spring源码的人来说,都会感觉不知从哪开始看起,因为spring项目源码由多个子项目组成,如spring-beans,spring-context,spring-core, ...

  4. <读书笔记>如何入门爬虫?

    大部分爬虫框架都是 发送请求 获得页面 解析页面 下载内容 存储内容 定个宏伟目标 淘宝1000页 知乎 豆瓣 ... python基础 list.dict:序列化爬取的内容 切片:分割爬取内容,获取 ...

  5. USACO2008 Time Management /// 贪心 oj24386

    题目大意: 有N个工作被编号为1..N (1 ≤ N ≤ 1,000) 完成第i个工作需要T_i (1 ≤ T_i ≤ 1,000)的时间 第i个工作需在S_i (1 ≤ S_i ≤ 1,000,00 ...

  6. Flutter BottomNavigationBar切换会刷新当前页面解决方

    问题描述 BottomNavigationBar 是flutter 中最常用的UI组建,刚接触时发现在切换tab 的时候,会刷新当前的所有状态,每个页面都会重新刷新.于是乎,在这里先记录下解决方案. ...

  7. uboot 的启动过程及工作原理

    启动模式介绍 大多数 Boot Loader 都包含两种不同的操作模式:"启动加载"模式和"下载"模式,这种区别仅对于开发人 员才有意义.但从最终用户的角度看, ...

  8. PHP算法之盛最多水的容器

    给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0).找出其中的两条线, ...

  9. virtualbox manager命令小记

    virtualbox 控制虚拟机 VBoxManage list runningvms 列出运行的虚拟机 (返回名称和UUID): VBoxManage list runningvms Stop ru ...

  10. 十一. for of

    const fruits = ['Apple','Banana','Orange','Mango']; es5: 可读性差 for(let i=0; i < fruits.length; i + ...