国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

java并發(fā)編程學(xué)習(xí)之線程的生命周期-join(四)

xavier / 1929人閱讀

摘要:定義等待該線程終止,比如線程調(diào)用了線程的,那么線程要等到線程執(zhí)行完后,才可以繼續(xù)執(zhí)行。

定義

等待該線程終止,比如A線程調(diào)用了B線程的join,那么A線程要等到B線程執(zhí)行完后,才可以繼續(xù)執(zhí)行。

示例
public class JoinDemo {
    static class JoinThread1 implements Runnable {
        Thread thread;

        public JoinThread1(Thread thread) {
            this.thread = thread;
        }

        @Override
        public void run() {
            System.out.println("thread1 start");
            try {
                thread.join();
                System.out.println("thread1 end");
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

    static class JoinThread2 implements Runnable {
        @Override
        public void run() {
            System.out.println("thread2 start");
            try {
                Thread.sleep(10000);
                System.out.println("thread2 end");
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

    public static void main(String[] args) {
        JoinThread2 joinThread2 = new JoinThread2();
        Thread thread2 = new Thread(joinThread2);
        JoinThread1 joinThread1 = new JoinThread1(thread2);
        Thread thread1 = new Thread(joinThread1);

        thread1.start();
        thread2.start();
    }
}

運(yùn)行結(jié)果如下:

線程1執(zhí)行的時(shí)候,調(diào)用線程2的join,線程1不休眠,線程2休眠了10秒,從結(jié)果看出來(lái),線程2執(zhí)行完后,線程1才執(zhí)行完。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/75216.html

相關(guān)文章

  • java并發(fā)編程學(xué)習(xí)之線程生命周期(一)

    摘要:就緒狀態(tài)調(diào)用或者由阻塞狀態(tài)被解除時(shí),進(jìn)入就緒狀態(tài),此時(shí),只能表示線程可以運(yùn)行了,但不代表已經(jīng)運(yùn)行了,需要等待的調(diào)度。死亡狀態(tài)當(dāng)線程執(zhí)行結(jié)束或者異常等,線程就會(huì)結(jié)束,進(jìn)入死亡狀態(tài)。 流程圖 showImg(https://segmentfault.com/img/bVbuJ6f); 新建狀態(tài) 當(dāng)用new創(chuàng)建一個(gè)線程后,線程就處于新建狀態(tài),此時(shí)和其他普通java對(duì)象一樣,由JVM創(chuàng)建內(nèi)存空...

    AndroidTraveler 評(píng)論0 收藏0
  • java并發(fā)編程學(xué)習(xí)之線程生命周期-wait,notify,notifyall(六)

    摘要:不釋放持有的鎖,釋放鎖。在調(diào)用方法前,必須持有鎖,調(diào)用喚醒,也要持有鎖。休眠一定時(shí)間后,進(jìn)入就緒狀態(tài)。這兩個(gè)都能被方法中斷當(dāng)前狀態(tài)。用法方獲取鎖判斷條件,不滿足繼續(xù)滿足執(zhí)行其他業(yè)務(wù)方獲取鎖改變條件通知為什么是而不是會(huì)一直循環(huán),直到條件滿足。 sleep和wait sleep是Thread類的方法,wait是Object的方法。 sleep可以到處使用,wait必須是在同步方法或者代碼...

    Terry_Tai 評(píng)論0 收藏0
  • java并發(fā)編程學(xué)習(xí)之線程生命周期-start(二)

    摘要:與執(zhí)行方法,是用來(lái)啟動(dòng)線程的,此時(shí)線程處于就緒狀態(tài),獲得調(diào)度后運(yùn)行方法。執(zhí)行方法,相對(duì)于普通方法調(diào)用,在主線程調(diào)用。程序是順序執(zhí)行的,執(zhí)行完才會(huì)執(zhí)行下面的程序。 start與run 執(zhí)行start方法,是用來(lái)啟動(dòng)線程的,此時(shí)線程處于就緒狀態(tài),獲得調(diào)度后運(yùn)行run方法。run方法執(zhí)行結(jié)束,線程就結(jié)束。 執(zhí)行run方法,相對(duì)于普通方法調(diào)用,在主線程調(diào)用。程序是順序執(zhí)行的,執(zhí)行完才會(huì)執(zhí)行下...

    bigdevil_s 評(píng)論0 收藏0
  • java并發(fā)編程學(xué)習(xí)之線程生命周期-sleep(五)

    摘要:在指定毫秒數(shù)內(nèi),讓正在執(zhí)行的當(dāng)前線程進(jìn)入休眠期。示例運(yùn)行結(jié)果如下結(jié)果可以看出,線程的兩次時(shí)間相差毫秒,的兩次時(shí)間相差毫秒,只影響自己的線程運(yùn)行,不影響其他線程。 sleep 在指定毫秒數(shù)內(nèi),讓正在執(zhí)行的當(dāng)前線程進(jìn)入休眠期。 示例 public class SleepDemo extends Thread { @Override public void run() { ...

    xi4oh4o 評(píng)論0 收藏0
  • java并發(fā)編程學(xué)習(xí)之線程生命周期-yield(三)

    摘要:方法作用讓當(dāng)前的線程狀態(tài)從運(yùn)行狀態(tài)轉(zhuǎn)到就緒狀態(tài),然后和其他就緒狀態(tài)的同相同優(yōu)先級(jí)的其他線程競(jìng)爭(zhēng)的執(zhí)行權(quán)。也就是說(shuō),這個(gè)線程,還是有機(jī)會(huì)繼續(xù)再次執(zhí)行的。 方法作用 讓當(dāng)前的線程狀態(tài)從運(yùn)行狀態(tài)轉(zhuǎn)到就緒狀態(tài),然后和其他就緒狀態(tài)的同相同優(yōu)先級(jí)的其他線程競(jìng)爭(zhēng)CPU的執(zhí)行權(quán)。也就是說(shuō),這個(gè)線程,還是有機(jī)會(huì)繼續(xù)再次執(zhí)行的。 優(yōu)先權(quán) 優(yōu)先級(jí)范圍是1~10,數(shù)字越大,優(yōu)先級(jí)越高,默認(rèn)為5,但是由于操作系...

    Barry_Ng 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

xavier

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<