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

猜你喜欢

转载自www.cnblogs.com/mm20/p/11792561.html