真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java順序執(zhí)行線程的方法

這篇文章運用簡單易懂的例子給大家介紹java順序執(zhí)行線程的方法,代碼非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

創(chuàng)新互聯(lián)科技有限公司專業(yè)互聯(lián)網(wǎng)基礎(chǔ)服務(wù)商,為您提供電信機(jī)房托管,高防物理服務(wù)器租用,成都IDC機(jī)房托管,成都主機(jī)托管等互聯(lián)網(wǎng)服務(wù)。

我們需要完成這樣一個應(yīng)用場景:

1.早上;2.測試人員、產(chǎn)品經(jīng)理、開發(fā)人員陸續(xù)的來公司上班;3.產(chǎn)品經(jīng)理規(guī)劃新需求;4.開發(fā)人員開發(fā)新需求功能;5.測試人員測試新功能。

規(guī)劃需求,開發(fā)需求新功能,測試新功能是一個有順序的,我們把thread1看做產(chǎn)品經(jīng)理,thread2看做開發(fā)人員,thread3看做測試人員。

使用線程的 join 方法

join():是Theard的方法,作用是調(diào)用線程需等待該join()線程執(zhí)行完成后,才能繼續(xù)用下運行。

應(yīng)用場景:當(dāng)一個線程必須等待另一個線程執(zhí)行完畢才能執(zhí)行時可以使用join方法。

實例如下:

package com.zhangsf.javabase.thread.order;
/**
 * @author zhangsf
 * 通過子程序join使線程按順序執(zhí)行
 */
public class ThreadJoinDemo {
    public static void main(String[] args) {
        final Thread thread1 = new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println("產(chǎn)品經(jīng)理規(guī)劃新需求");
            }
        });
        final Thread thread2 = new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    thread1.join();
                    System.out.println("開發(fā)人員開發(fā)新需求功能");
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        });
        Thread thread3 = new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    thread2.join();
                    System.out.println("測試人員測試新功能");
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        });
        System.out.println("早上:");
        System.out.println("測試人員來上班了...");
        thread3.start();
        System.out.println("產(chǎn)品經(jīng)理來上班了...");
        thread1.start();
        System.out.println("開發(fā)人員來上班了...");
        thread2.start();
    }
}

運行結(jié)果:

java順序執(zhí)行線程的方法

使用主線程的 join 方法

這里是在主線程中使用join()來實現(xiàn)對線程的阻塞。

package com.zhangsf.javabase.thread.order;
/**
 * @author zhangsf
 * 通過主程序join使線程按順序執(zhí)行
 */
public class ThreadMainJoinDemo {
    public static void main(String[] args) throws Exception {
        final Thread thread1 = new Thread(new Runnable() {
            @Override
            public void run() {
              System.out.println("產(chǎn)品經(jīng)理正在規(guī)劃新需求...");
            }
        });
        final Thread thread2 = new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println("開發(fā)人員開發(fā)新需求功能");
            }
        });
        final Thread thread3 = new Thread(new Runnable() {zzzz
            @Override
            public void run() {
                System.out.println("測試人員測試新功能");
            }
        });
        System.out.println("早上:");
        System.out.println("產(chǎn)品經(jīng)理來上班了");
        System.out.println("測試人員來上班了");
        System.out.println("開發(fā)人員來上班了");
        thread1.start();
        //在父進(jìn)程調(diào)用子進(jìn)程的join()方法后,父進(jìn)程需要等待子進(jìn)程運行完再繼續(xù)運行。
        System.out.println("開發(fā)人員和測試人員休息會...");
        thread1.join();
        System.out.println("產(chǎn)品經(jīng)理新需求規(guī)劃完成!");
        thread2.start();
        System.out.println("測試人員休息會...");
        thread2.join();
        thread3.start();
    }
}

運行結(jié)果:

java順序執(zhí)行線程的方法

關(guān)于java順序執(zhí)行線程的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


網(wǎng)頁名稱:java順序執(zhí)行線程的方法
本文路徑:http://weahome.cn/article/ghjgdj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部