• 多线程02-定时器


    案例1

    间隔1秒以后执行task任务

    package org.lkl.timer;
    
    import java.util.Date;
    import java.util.Timer;
    import java.util.TimerTask;
    
    public class TimerFoo {
    
        public static void main(String[] args) {
            
            TimerTask task = new TimerTask() {
                
                @Override
                public void run() {
                    System.out.println("Liaokailin.");
                }
            };
            /**
             * 间隔1秒以后执行task任务
             */
            new Timer().schedule(task, 1000) ;
            
            while(true){
                System.out.println(new Date().getSeconds());
                try {
                    Thread.sleep(1000) ;
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
        
    }

    案例2 

     间隔1秒以后第一次执行task ,随后间隔2秒执行一次task

    package org.lkl.timer;
    
    import java.util.Date;
    import java.util.Timer;
    import java.util.TimerTask;
    
    public class TimerFoo {
    
        public static void main(String[] args) {
            
            TimerTask task = new TimerTask() {
                
                @Override
                public void run() {
                    System.out.println("Liaokailin.");
                }
            };
            /**
             * 间隔1秒以后第一次执行task ,随后间隔2秒执行一次task
             */
            new Timer().schedule(task, 1000,2000) ;
            
            /**
             * 用来计时,没间隔1秒输出当前时间对应的秒数
             */
            while(true){
                System.out.println(new Date().getSeconds());
                try {
                    Thread.sleep(1000) ;
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
        
    }

     案例3

    间隔2秒以后执行一次task ,随后间隔4秒执行一次task

    package org.lkl.timer;
    
    import java.util.Date;
    import java.util.Timer;
    import java.util.TimerTask;
    
    public class TimerFoo {
        static int flag = 0 ;
        public static void main(String[] args) {
        
            class MyTimerTask extends TimerTask{
                int count = ++flag%2 ;
                //flag = flag%2 ;
                @Override
                public void run() {
                    System.out.println("Liaokailin.");
                    new Timer().schedule(new MyTimerTask() , 2000+2000*count) ;
                }
                
            }
            
         
            /**
             * 间隔2秒以后执行一次task ,随后间隔4秒执行一次task
             */
            new Timer().schedule(new MyTimerTask() , 2000) ;
            
            /**
             * 用来计时,没间隔1秒输出当前时间对应的秒数
             */
            while(true){
                System.out.println(new Date().getSeconds());
                try {
                    Thread.sleep(1000) ;
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
        
    }
  • 相关阅读:
    Hadoop学习笔记—12.MapReduce中的常见算法
    Hadoop学习笔记—11.MapReduce中的排序和分组
    Hadoop学习笔记—10.Shuffle过程那点事儿
    Hadoop学习笔记—9.Partitioner与自定义Partitioner
    Hadoop学习笔记—8.Combiner与自定义Combiner
    Hadoop学习笔记—7.计数器与自定义计数器
    Hadoop学习笔记—6.Hadoop Eclipse插件的使用
    Hadoop学习笔记—5.自定义类型处理手机上网日志
    Hadoop学习笔记—4.初识MapReduce
    Hadoop学习笔记—3.Hadoop RPC机制的使用
  • 原文地址:https://www.cnblogs.com/liaokailin/p/3770901.html
Copyright © 2020-2023  润新知