<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    人在江湖

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      82 Posts :: 10 Stories :: 169 Comments :: 0 Trackbacks

    問:在父線程中New了一個子線程,想在停止父線程時也停止子線程,應該怎么做?

    答:

    從某種程度上講,做不到。  

      不管是父線程還是子線程,這只不過是在運行時誰建了誰時用的,一旦所謂的字線程被啟動,這兩個線程是沒有先后貴賤區分的。  

      任何線程是沒有辦法把另外一個線程終止的。  

      如果你一定想你說的那樣是線的話,下面是唯一個可行方案。在"父線程"建立“子線程”時,把“父線程”的instance傳過去,在“子線程”里,不停的check"父線程"是否還存活,如果否,停止。  

      相反的,如果"父線程"需要在"子線程"終了時結束,在"父線程"建立“子線程”時,留住“子線程”的instance然后keep   checking   whether   it's   still   alive.

    ================================================================================

    只有在所有非守護進程都停止的情況下,jvm才退出。main線程停止jvm也不一定退出:

       1: public class TestMitiThread {
       2:  
       3:    public static void main(String[] rags) {
       4:  
       5:        System.out.println(Thread.currentThread().getName() + " 線程運行開始!");
       6:  
       7:        new MitiSay("A").start();
       8:  
       9:        new MitiSay("B").start();
      10:  
      11:        System.out.println(Thread.currentThread().getName() + " 線程運行結束!");
      12:  
      13:    }
      14:  
      15:  
      16:  
      17: class MitiSay extends Thread {
      18:  
      19:    public MitiSay(String threadName) {
      20:  
      21:        super(threadName);
      22:  
      23:    }
      24:  
      25:    public void run() {
      26:  
      27:        System.out.println(getName() + " 線程運行開始!");
      28:  
      29:        for (int i = 0; i < 10; i++) {
      30:  
      31:            System.out.println(i + " " + getName());
      32:  
      33:            try {
      34:  
      35:                sleep((int) Math.random() * 10);
      36:  
      37:            } catch (InterruptedException e) {
      38:  
      39:                e.printStackTrace();
      40:  
      41:            }
      42:  
      43:        }
      44:  
      45:        System.out.println(getName() + " 線程運行結束!");
      46:  
      47:    }
      48:  
      49:  
      50:  

    運行結果:

    main 線程運行開始!

    main 線程運行結束!

    A 線程運行開始!

    0 A

    1 A

    B 線程運行開始!

    2 A

    0 B

    3 A

    4 A

    1 B

    5 A

    6 A

    7 A

    8 A

    9 A

    A 線程運行結束!

    2 B

    3 B

    4 B

    5 B

    6 B

    7 B

    8 B

    9 B

    B 線程運行結束!

    posted on 2011-01-30 18:06 人在江湖 閱讀(1370) 評論(1)  編輯  收藏 所屬分類: java

    Feedback

    # re: java父線程子線程(轉)[未登錄] 2012-03-12 00:49 xx
    你這樣不行哦。  回復  更多評論
      

    主站蜘蛛池模板: 久久精品国产亚洲AV忘忧草18| 亚洲AV中文无码乱人伦| 亚洲色图在线观看| 永久免费av无码入口国语片| 亚洲午夜久久久久妓女影院| www免费黄色网| 亚洲精品美女久久777777| 天黑黑影院在线观看视频高清免费 | 亚洲系列国产精品制服丝袜第| 无码人妻一区二区三区免费n鬼沢 无码人妻一区二区三区免费看 | 成人免费观看男女羞羞视频| 亚洲高清无码在线观看| A毛片毛片看免费| 亚洲人成网77777亚洲色| 久久免费视频网站| 亚洲精品高清国产一久久| 91高清免费国产自产拍2021| 亚洲一级在线观看| 蜜臀91精品国产免费观看| 无人视频免费观看免费视频| 国产亚洲视频在线播放| 日韩精品无码一区二区三区免费| 亚洲黄色在线视频| 成年女人免费视频播放77777| 亚洲七久久之综合七久久| 亚洲成年人啊啊aa在线观看| 青青操在线免费观看| 亚洲不卡1卡2卡三卡2021麻豆| 国产又大又黑又粗免费视频| 中文字幕无线码免费人妻| 日韩精品一区二区亚洲AV观看| 好吊妞998视频免费观看在线| 无套内射无矿码免费看黄| 久久亚洲sm情趣捆绑调教| 免费网站看v片在线香蕉| 大妹子影视剧在线观看全集免费| 亚洲综合区图片小说区| 免费不卡中文字幕在线| 免费视频成人片在线观看| 国产成人亚洲精品蜜芽影院| 亚洲av无码一区二区三区网站 |