<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无码无线在线观看| 国产自偷亚洲精品页65页| 亚洲高清免费在线观看| 美国毛片亚洲社区在线观看| 久久九九亚洲精品| 成年女人视频网站免费m| 中文字幕免费视频精品一| 亚洲AV无码国产精品色| 亚洲一区二区三区在线观看精品中文 | 人成电影网在线观看免费| 亚洲精品在线免费看| gogo全球高清大胆亚洲| 成年人免费的视频| 精品免费久久久久国产一区| 亚洲日韩一区二区三区| 亚洲va中文字幕无码久久不卡| 日本v片免费一区二区三区| 国产成人一区二区三区视频免费| 国产精品日本亚洲777| 亚洲中文字幕人成乱码 | 久久亚洲精品中文字幕无码| 四虎永久免费地址在线网站 | 男人的天堂亚洲一区二区三区 | a级亚洲片精品久久久久久久| 黄页网站在线看免费| a级毛片高清免费视频就| 精品成人一区二区三区免费视频| 91亚洲国产成人久久精品网址 | 久久亚洲精品无码gv| 亚洲免费闲人蜜桃| 色播亚洲视频在线观看| 亚洲日韩欧洲乱码AV夜夜摸| 国产午夜免费福利红片| 成年人免费视频观看| 在线观看免费人成视频色9| 一区二区三区观看免费中文视频在线播放 | 日韩免费高清播放器|