中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中join線程操作實例分析

發布時間:2020-10-16 15:46:10 來源:腳本之家 閱讀:140 作者:cakincqm 欄目:編程語言

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

一 點睛

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

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

二 代碼

public class JoinThread extends Thread
{
   // 提供一個有參數的構造器,用于設置該線程的名字
   public JoinThread(String name)
   {
      super(name);
   }
   // 重寫run()方法,定義線程執行體
   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線程調用了jt線程的join()方法,main線程
           // 必須等jt執行結束才會向下執行
           jt.join();
        }
        System.out.println(Thread.currentThread().getName()
           + " " + i);
      }
   }
}

三 運行結果

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線程和新線程并發執行。

2 當i為20時,main線程開始等待“被Join的線程”執行完成,此時“被Join的線程”和“新線程”并發執行。

3 當“被Join的線程”執行完成,main線程繼續運行,此時“main”和“新線程”并發執行。

更多java相關內容感興趣的讀者可查看本站專題:《Java進程與線程操作技巧總結》、《Java數據結構與算法教程》、《Java操作DOM節點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

富顺县| 江津市| 江山市| 安乡县| 始兴县| 原阳县| 交城县| 策勒县| 巴中市| 修武县| 原平市| 麻栗坡县| 嵊州市| 黄龙县| 繁峙县| 汉川市| 咸阳市| 张家港市| 海口市| 山东| 沛县| 淳安县| 宝应县| 河南省| 巨野县| 库车县| 崇信县| 崇州市| 苍梧县| 桐城市| 突泉县| 杭锦后旗| 武定县| 天等县| 鄂伦春自治旗| 文水县| 广水市| 黔东| 延津县| 庄浪县| 临汾市|