最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中join線程操作實(shí)例分析

 更新時間:2019年09月16日 10:21:00   作者:cakincqm  
這篇文章主要介紹了Java中join線程操作,結(jié)合實(shí)例形式分析了java使用join方法操作線程的相關(guān)原理與實(shí)現(xiàn)技巧,需要的朋友可以參考下

本文實(shí)例講述了Java中join線程操作。分享給大家供大家參考,具體如下:

一 點(diǎn)睛

Tread提供了讓一個線程等待另外一個線程完成的方法——join()方法。當(dāng)在某個程序執(zhí)行流中調(diào)用其他線程的join()方法時,調(diào)用線程將被阻塞,直到被join()方法加入的join線程執(zhí)行完后為止。

join()方法通常由使用線程的程序調(diào)用,以將大問題劃分成許多小問題,每個小問題分配一個線程。當(dāng)所有小問題都得到處理后,再調(diào)用主線程來進(jìn)一步操作。

二 代碼

public class JoinThread extends Thread
{
   // 提供一個有參數(shù)的構(gòu)造器,用于設(shè)置該線程的名字
   public JoinThread(String name)
   {
      super(name);
   }
   // 重寫run()方法,定義線程執(zhí)行體
   public void run()
   {
      for (int i = 0; i < 100 ; i++ )
      {
        System.out.println(getName() + " " + i);
      }
   }
   public static void main(String[] args)throws Exception
   {
      // 啟動子線程
      new JoinThread("新線程").start();
      for (int i = 0; i < 100 ; i++ )
      {
        if (i == 20)
        {
           JoinThread jt = new JoinThread("被Join的線程");
           jt.start();
           // main線程調(diào)用了jt線程的join()方法,main線程
           // 必須等jt執(zhí)行結(jié)束才會向下執(zhí)行
           jt.join();
        }
        System.out.println(Thread.currentThread().getName()
           + " " + i);
      }
   }
}

三 運(yùn)行結(jié)果

main  0
main  1
main  2
main  3
main  4
main  5
main  6
新線程  0
......
新線程  11
新線程  12
新線程  13
main  7
main  8
......
main  16
main  17
新線程  14
main  18
main  19
新線程  15
新線程  16
......
新線程  31
被Join的線程  0
新線程  32
被Join的線程  1
新線程  33
被Join的線程  2
新線程  34
被Join的線程  3
新線程  35
新線程  36
新線程  37
新線程  38
新線程  39
被Join的線程  4
被Join的線程  5
......
被Join的線程  13
被Join的線程  14
新線程  40
被Join的線程  15
被Join的線程  16
被Join的線程  17
新線程  41
新線程  42
被Join的線程  18
被Join的線程  19
......
被Join的線程  38
被Join的線程  39
新線程  43
新線程  44
新線程  45
被Join的線程  40
被Join的線程  41
被Join的線程  42
被Join的線程  43
新線程  46
新線程  47
新線程  48
......
新線程  60
新線程  61
被Join的線程  44
......
被Join的線程  98
被Join的線程  99
新線程  62
新線程  63
......
新線程  98
新線程  99
main  20
main  21
main  22
main  23

四 說明

1 程序開始是mian線程和新線程并發(fā)執(zhí)行。

2 當(dāng)i為20時,main線程開始等待“被Join的線程”執(zhí)行完成,此時“被Join的線程”和“新線程”并發(fā)執(zhí)行。

3 當(dāng)“被Join的線程”執(zhí)行完成,main線程繼續(xù)運(yùn)行,此時“main”和“新線程”并發(fā)執(zhí)行。

更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java進(jìn)程與線程操作技巧總結(jié)》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設(shè)計有所幫助。

相關(guān)文章

  • 強(qiáng)烈推薦MyBatis?三種批量插入方式的比較

    強(qiáng)烈推薦MyBatis?三種批量插入方式的比較

    這篇文章主要介紹了強(qiáng)烈推薦MyBatis?三種批量插入方式的比較,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07
  • idea如何解決commit代碼時一直code Analyze加載的問題

    idea如何解決commit代碼時一直code Analyze加載的問題

    文章介紹了解決Git提交代碼時出現(xiàn)codeAnalyze加載卡頓問題的方法,即關(guān)閉IDEA中的相關(guān)設(shè)置選項(xiàng),作者分享個人經(jīng)驗(yàn),希望對大家有所幫助,并鼓勵支持腳本之家
    2025-01-01
  • 解決nacos報錯java.lang.ClassNotFoundException: com.netflix.config.DynamicPropertyFactory的問題

    解決nacos報錯java.lang.ClassNotFoundException: com.netflix.

    這篇文章主要介紹了解決nacos報錯java.lang.ClassNotFoundException: com.netflix.config.DynamicPropertyFactory的問題,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • idea debug沒有force step into的問題解決

    idea debug沒有force step into的問題解決

    本文主要介紹了IDEA Debug中ForceStepInto按鈕消失的問題及解決方法,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-10-10
  • 最新評論

    牙克石市| 台中县| 安仁县| 甘德县| 蚌埠市| 铁岭市| 泾源县| 屯昌县| 嵩明县| 广饶县| 逊克县| 甘泉县| 盐城市| 南澳县| 孟津县| 桦甸市| 紫金县| 明溪县| 叙永县| 疏勒县| 临海市| 云和县| 华安县| 潼南县| 嘉义市| 东至县| 通河县| 北安市| 天气| 疏勒县| 玛沁县| 民丰县| 闻喜县| 皮山县| 巴中市| 阳东县| 芦溪县| 阜新市| 武定县| 从化市| 张家口市|