一、線程組的概念 spa
Java中使用ThreadGroup來表示線程組,它能夠對一批線程進行分類管理。對線程組的控管理,即同時控制線程組裏面的這一批線程。 用戶建立的全部線程都屬於指定線程組,若是沒有顯示指定屬於哪一個線程組,那麼該線程就屬於默認線程組(即main線程組)。默認狀況下,子線程和父線程處於同一個線程組。 只有在建立線程時才能指定其所在的線程組,線程運行中途不能改變它所屬的線程組,也就是說線程一旦指定所在的線程組,就直到該線程結束。 線程組與線程之間結構相似於樹形的結構:線程
二、線程池的概念 生命週期
線程池技術的理解:資源
一個線程的週期分爲:建立、運行、銷燬三個階段。處理一個任務時,首先建立一個任務線程,而後執行任務,完了,銷燬線程。而 線程處於運行狀態的時候,纔是真的在處理咱們交給它的任務,這個階段纔是有效運行時間。因此,咱們但願花在建立和銷燬線程的 資源越少越好。若是不銷燬線程,而這個線程又不能被其餘的任務調用,那麼就會出現資源的浪費。爲了提升效率,減小建立和銷燬 線程帶來時間和空間上的浪費,出現了線程池技術。這種技術是在開始就建立必定量的線程,批量處理一類任務,等待任務的到來。 任務執行完畢後,線程又能夠執行其餘的任務。等再也不須要線程的時候,就銷燬。這樣就省去了頻繁建立和銷燬線程的麻煩。
二者區別 :get
線程組是爲了方便線程的管理效率
線程池是爲了管理線程的生命週期,複用線程,減小建立銷燬線程的開銷。線程池