zoukankan      html  css  js  c++  java
  • JAVA多线程间隔时间段执行方法

    import java.util.Date;
    import java.util.Timer;
    import java.util.TimerTask;
    
    public class ManyProject {
        public static void main(String[] args) {
            //创建方法1的对象
            Mythread_thread firstThread=new Mythread_thread();
            firstThread.start();//开启线程
            System.out.println("********************************");
    
         //创建方法2的对象
            Mythread_run secondThread=new Mythread_run();
            //创建Thread类对象,把方法2类对象当做Thread类的构造方法的参数传递进去
            Thread second=new Thread(secondThread);
            second.start();//Thread对象开启新的线程
            System.out.println("********************************");
    
          /*  //main线程方法
            for (int i = 0; i < 10; i++) {
                System.out.println("main线程报数:"+i);
            }*/
        }
    
    }
    /*创建新的线程:方法1==>继承Thread类*/
    class Mythread_thread extends Thread{//1、继承Thread
        @Override
        public void run() {  //2、实现run方法
           // for (int i = 0; i < 10; i++) {//3、自定义执行语句
                //System.out.println("继承Thread类 --线程报数:");
            Timer timer = new Timer();
            //表示在3秒之后开始执行,并且每2秒执行一次
            timer.schedule(new MyTask2(),3000,2000);       
           // }
        }
    }
    
    /*创建新的线程:方法2==>实现Runnable接口*/
    class Mythread_run implements Runnable{//1、自定义类实现Runnable接口
        @Override
        public void run() {//2、重写run方法
            Timer timer = new Timer();
            //表示在3秒之后开始执行,并且每2秒执行一次
            timer.schedule(new MyTask1(),3000,2000);
    
        }
    }
    
    /**
     * 类描述:这个类代表一个定时任务
     * @author xiezd
     * 自定义定时任务,继承TimerTask
     * 
     */
    class MyTask1 extends TimerTask{
    
        //在run方法中的语句就是定时任务执行时运行的语句。
        public void run() {
            System.out.println("Hello!! 现在是:"+new Date().toLocaleString());
        }
    }
    class MyTask2 extends TimerTask{
    
        //在run方法中的语句就是定时任务执行时运行的语句。
        public void run() {
            System.out.println(" 现在是:"+new Date().toLocaleString());
        }
    }

    运行结果:

    两个进程同时运行,输出的结果并不是按照某个固定的顺序进行的,是随机产生的,无规律可言。

    参考博客:https://blog.csdn.net/zyj0813/article/details/78345617

  • 相关阅读:
    Ubuntu-Tensorflow 程序结束掉GPU显存没有释放的问题
    python 批量修改文件名
    linux 查看文件夹文件大小数目等信息
    linux sudo 系统环境变量 用户环境变量
    python安装h5py
    安装labelImg
    pyqt5 sip 段错误问题
    python:dist-packages && site-packages
    lua学习:lua中“类”的实现
    lua笔记
  • 原文地址:https://www.cnblogs.com/mm20/p/11792561.html
Copyright © 2011-2022 走看看