<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 人在江湖 閱讀(1376) 評論(1)  編輯  收藏 所屬分類: java

    Feedback

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

    主站蜘蛛池模板: 窝窝影视午夜看片免费| 亚洲熟妇自偷自拍另欧美| 精品久久久久久无码免费| 免费中文字幕不卡视频| 国产av无码专区亚洲av毛片搜| 成年性羞羞视频免费观看无限| 久久久久精品国产亚洲AV无码| 免费看黄视频网站| 亚洲人成在线中文字幕| 免费精品国产日韩热久久| 亚洲乱码卡一卡二卡三| 最新69国产成人精品免费视频动漫 | yellow免费网站| 亚洲午夜福利在线观看| A级毛片高清免费视频在线播放| 亚洲av无码国产精品夜色午夜 | 亚洲自偷自偷偷色无码中文| 好紧我太爽了视频免费国产| 亚洲精品在线免费观看视频| 国产a视频精品免费观看| 在线a级毛片免费视频| 亚洲人成电影网站色| 亚洲成av人片在线观看天堂无码 | 亚洲A∨午夜成人片精品网站| 免费很黄无遮挡的视频毛片| 亚洲一区二区三区在线观看精品中文 | 国产又黄又爽又大的免费视频| 亚洲av无码成h人动漫无遮挡| 久久成人国产精品免费软件| 亚洲一区二区三区高清在线观看| 免费日本黄色网址| 免费无码又爽又刺激网站直播 | 亚洲AV无码AV男人的天堂| 国拍在线精品视频免费观看| 国产亚洲综合一区二区三区| 久久91亚洲人成电影网站| 成人无码区免费A片视频WWW| 免费精品视频在线| 亚洲欧洲日产国码在线观看| 国产国产人免费人成免费视频| 久久九九全国免费|