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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM