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. jdk源码阅读

    转载https://www.cnblogs.com/mh-study/p/10078548.html 1.java.lang 1) Object 12) String 13) AbstractStri ...

  2. callable接口的多线程实现方式

    package com.cxy.juc; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionExce ...

  3. 2019-5-21-dotnet-使用-GC.GetAllocatedBytesForCurrentThread-获取当前线程分配过的内存大小...

    title author date CreateTime categories dotnet 使用 GC.GetAllocatedBytesForCurrentThread 获取当前线程分配过的内存大 ...

  4. ResultSetMetaData中getColumnLabel和getColumnName的区别

    利用jdbc连接数据库查询时,通常返回的结果就是每行数据的键值对集合.这时我们需要知道查询出来的数据有哪些字段.根据ResultSet结果集得到的ResultSetMetaData就可以获取到每个字段 ...

  5. PHP算法之两数之和

    给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中同样的元 ...

  6. Android Studio 配置快速生成模板代码

    前言 Android studio 有提供快速生成模板代码的功能,其实这个功能也可以自定义配置.此篇博客将讲解如何使用此功能 进入Settings 选择 Editor > Live Templa ...

  7. vs数据库连接问题

    在swagger上测试时报错:数据库连接不上 原因:在项目中修改过connectionstring,但是每次编译时本地文件中并没有更新 修改: 修改配置文件属性:不复制 —> 始终复制

  8. P1922 女仆咖啡厅桌游吧

    P1922 女仆咖啡厅桌游吧 题目背景 小v带萌萌的妹妹去玩,妹妹想去女仆咖啡馆,小v想去桌游吧. 妹妹:“我问你个问题,答不对你就做我一天的奴隶,答对了就今天我就全部听你的.” 小v:“全部都听!? ...

  9. VS2010-MFC(MFC常用类:CString类)

    转自:http://www.jizhuomi.com/software/228.html CString类简介 CString类作为MFC的常用类,当之无愧.可以这样说,只要是从事MFC开发,基本都会 ...

  10. System.Web.Mvc.IAuthorizationFilter.cs

    ylbtech-System.Web.Mvc.IAuthorizationFilter.cs 1.程序集 System.Web.Mvc, Version=5.2.3.0, Culture=neutra ...