天天看點

線程聯合和守護線程

線程聯合

一個線程thread1在運作時,可以讓其它線程調用join()和本線程聯合,

如:thread2.join();

這時,稱thread1在運作期間聯合了thread2

如果線程thread1在運作期間聯合了線程thread2

• 線程thread1将中斷執行

• 線程thread2将獲得CPU的使用權,并且将所有任

務執行完畢,之後才讓出使用權

• 線程thread2執行完畢,線程thread1才能重新排隊

等待CPU的使用權

如果線程thread1聯合線程thread2時,線程thread2已經消亡,則thread2.join()不會産生任何效果

守護線程

一個線程調用

void setDaemon(boolean u)

可以将自己設定成一個守護線程

當程式中的所有使用者線程都已經結束運作時,即使守護線程的run()方法中還有需要執行的語句,守護線程也立刻結束運作

繼續閱讀