日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java父线程子线程

發布時間:2025/6/15 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java父线程子线程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

答: 從某種程度上講,做不到。 ?? 不管是父線程還是子線程,這只不過是在運行時誰建了誰時用的,一旦所謂的字線程被啟動,這兩個線程是沒有先后貴賤區分的。 ?? 任何線程是沒有辦法把另外一個線程終止的。 ?? 如果你一定想你說的那樣是線的話,下面是唯一個可行方案。在"父線程"建立“子線程”時,把“父線程”的instance傳過去,在“子線程”里,不停的check"父線程"是否還存活,如果否,停止。 ?? 相反的,如果"父線程"需要在"子線程"終了時結束,在"父線程"建立“子線程”時,留住“子線程”的instance然后keep ? checking ? whether ? it's ? still ? alive. ================================================================================ 只有在所有非守護進程都停止的情況下,jvm才退出。main線程停止jvm也不一定退出: public class TestMitiThread { public static void main(String[] rags) { System.out.println(Thread.currentThread().getName() + " 線程運行開始!"); new MitiSay("A").start(); new MitiSay("B").start(); System.out.println(Thread.currentThread().getName() + " 線程運行結束!"); } } class MitiSay extends Thread { public MitiSay(String threadName) { super(threadName); } public void run() { System.out.println(getName() + " 線程運行開始!"); for (int i = 0; i < 10; i++) { System.out.println(i + " " + getName()); try { sleep((int) Math.random() * 10); } catch (InterruptedException e) { e.printStackTrace(); } } System.out.println(getName() + " 線程運行結束!"); } } 運行結果: 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 線程運行結束! =========================================== novice expertise inception rudiment prudent ... is the way to go ========================================= sas: sas variable must not be more than 8 characers use character variables sparingly--page 4

轉載于:https://blog.51cto.com/vcycyv/316243

總結

以上是生活随笔為你收集整理的java父线程子线程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。