传统定时器

/**
 *
 * @描述: 传统定时器 .
 * @作者: Wnj .
 * @创建时间: 2017年5月15日 .
 * @版本: 1.0 .
 */
public class TraditionalTimerTest {

    private static int count = 0;

    public static void main(String[] args) {
        /*
         *     宿主
         *      new Timer().schedule(new TimerTask() {

                    @Override
                    public void run() {
                        System.out.println("bombing!");

                    }
                    //10秒后开始,间隔3秒执行一次
                }, 10000,3000);*/

        class MyTimerTask extends TimerTask {

            @Override
            public void run() {
                count = (count + 1) % 2;
                System.out.println("bombing!");
                new Timer().schedule(/*new TimerTask() {

                                     @Override
                                     public void run() {
                                     System.out.println("bombing!");
                                     }
                                     }*/new MyTimerTask(), 2000 + 2000 * count);
            }
        }

        new Timer().schedule(new MyTimerTask(), 2000);

        while (true) {
            System.out.println(new Date().getSeconds());
            try {
                Thread.sleep(1000);
            }
            catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
时间: 2024-12-08 07:13:39

传统定时器的相关文章

Java多线程与并发库高级应用-传统定时器技术回顾

传统定时器技术回顾(jdk1.5以前) public class TraditionalTimerTest { static int count = 0; public static void main(String[] args) { //10秒后开始执行,每隔3秒执行一次 new Timer().schedule(new TimerTask() { @Override public void run() { System.out.println("bombing..."); } }

2.传统定时器技术回顾 - Timer类 TimerTask

java.util 类 Timer java.lang.Object java.util.Timer 方法摘要 void cancel()           终止此计时器,丢弃所有当前已安排的任务.  int purge()           从此计时器的任务队列中移除所有已取消的任务. void schedule(TimerTask task, Date time)           安排在指定的时间执行指定的任务. void schedule(TimerTask task, Date 

JAVA多线程提高一:传统线程技术&传统定时器Timer

前面我们已经对多线程的基础知识有了一定的了解,那么接下来我们将要对多线程进一步深入的学习:但在学习之前我们还是要对传统的技术进行一次回顾,本章我们回顾的则是:传统线程技术和传统的定时器实现. 一.传统线程技术 1.创建方式 1.继承thread类 Thread t = new Thread(){ @Override public void run() { } }; t.start(); 2.实现Runnable接口 Thread t1 = new Thread(new Runnable() {

传统定时器技术 Timer

本文为张孝祥java并发课程的学习笔记. java.util.Timer定时器,实际上是个线程,定时调度所拥有的TimerTasks. 一个TimerTask实际上就是一个拥有run方法的类,需要定时执行的代码放到run方法体内,TimerTask一般是以匿名类的方式创建. 我们看看看Timer的api文档 它拥有以下的几个方法 cancel,取消任务 purge,移除已经取消的任务 schedule(TimerTask task, long delay) delay毫秒后执行task任务. 再

(黑马Java多线程与并发库高级应用)02 传统定时器技术回顾

代码1: package cn.itcast.heima2; import java.util.Calendar; import java.util.Timer; import java.util.TimerTask; public class TraditionalTimerTest { public static void main(String[] args) { new Timer().schedule(new TimerTask() { @Override public void ru

Linux 高精度定时器hrtimer 使用示例【转】

本文转载自:http://blog.csdn.net/dean_gdp/article/details/25481225 hrtimer的基本操作 Linux的传统定时器通过时间轮算法实现(timer.c),但hrtimer通过红黑树算法实现.在struct hrtimer里面有一个node域,类型为struct rb_node,这个域代表了hrtimer在红黑树中的位置. hrtimer_start hrtimer_start函数将一个hrtimer加入到一个按照到期时间排序的红黑树中,其主要

传统线程的创建方式

传统线程技术回顾 public class TraditionalThread { /** * @param args */ public static void main(String[] args) { //第一种:new Thread() Thread thread = new Thread(){ @Override public void run() { while(true){ try { Thread.sleep(500); } catch (InterruptedException

Java多线程及JDK5线程工具类总结

内容摘抄来自:传智播客 张孝祥 老师的<Java高新技术>视频,   并加入了个人总结和理解. 虽然我没有参加过任何培训班,但我很大一部分知识都来自于传智播客的网络分享视频. 十分真挚的感谢张老师的公开视频. 1.传统线程技术的回顾 1 import org.junit.Test; 2 /** 3 * 传统线程回顾 4 * 多线程不一定会提高运行效率,和CPU设计和架构有关. 5 * 多线程下载是抢了服务器的资源,并不是自身的机器加快. 6 * @author LiTaiQing 7 */ 8

linux下的时间管理概述

2017/6/21 时间这一概念在生活中至关重要,而在操作系统中也同样重要,其在系统中的功能绝不仅仅是给用户提供时间这么简单,内核的许多机制都依赖于时间子系统.但凡是要在某个精确的时间执行某个事件,必然会用到时间子系统.而内核中定时器的发展可以以2.6版本的内核作为一个分界点.之前主要是低分辨率定时器,2.6开发期间便引入了高分辨率定时器.分辨率的高低意味着时间粒度的大小. 本节重点介绍下涉及到的几个重点概念 时钟设备 周期时钟/动态时钟 高分辨率/低分辨率 定时器 时钟设备时钟设备算是最低层的