如何保證線程按順序執行


Thread類構造方法:
1.Thread();
2.Thread(String name);
3.Thread(Runable r);
4.Thread(Runable r, String name);


thread類常用方法:
start();//啟動線程
getId();//獲得線程ID
getName();//獲得線程名字
getPriority();//獲得優先權
isAlive();//判斷線程是否活動
isDaemon();//判斷是否守護線程
getState();//獲得線程狀態
sleep(long mill);//休眠線程
join();//等待線程結束
yield();//放棄cpu使用權利
interrupt();//中斷線程
currentThread();//獲得正在執行的線程對象

下面實例用join()實現線程按順序執行:

/*
 有三個線程T1 T2 T3,如何保證他們按順序執行-轉載
在T2的run中,調用t1.join,讓t1執行完成后再讓T2執行
在T2的run中,調用t2.join,讓t2執行完成后再讓T3執行
*/
public class ThreadByOrder {

    static Thread t1 = new Thread(new Runnable() {

        @Override
        public void run() {
            System.out.println("t1");
        }
    });

    static Thread t2 = new Thread(new Runnable() {

        @Override
        public void run() {
            try {
                t1.join();
                Thread.sleep(500);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            System.out.println("t2");
        }
    });

    static Thread t3 = new Thread(new Runnable() {

        @Override
        public void run() {
            try {
                t2.join();
                Thread.sleep(500);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            System.out.println("t3");
        }
    });
    public static void main(String[] args) {
        t1.start();
        t2.start();
        t3.start();

    }

}

執行結果:

 


免責聲明!

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



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