一、线程组的概念 spa
Java中使用ThreadGroup来表示线程组,它能够对一批线程进行分类管理。对线程组的控管理,即同时控制线程组里面的这一批线程。 用户建立的全部线程都属于指定线程组,若是没有显示指定属于哪一个线程组,那么该线程就属于默认线程组(即main线程组)。默认状况下,子线程和父线程处于同一个线程组。 只有在建立线程时才能指定其所在的线程组,线程运行中途不能改变它所属的线程组,也就是说线程一旦指定所在的线程组,就直到该线程结束。 线程组与线程之间结构相似于树形的结构:线程
二、线程池的概念 生命周期
线程池技术的理解:资源
一个线程的周期分为:建立、运行、销毁三个阶段。处理一个任务时,首先建立一个任务线程,而后执行任务,完了,销毁线程。而 线程处于运行状态的时候,才是真的在处理咱们交给它的任务,这个阶段才是有效运行时间。因此,咱们但愿花在建立和销毁线程的 资源越少越好。若是不销毁线程,而这个线程又不能被其余的任务调用,那么就会出现资源的浪费。为了提升效率,减小建立和销毁 线程带来时间和空间上的浪费,出现了线程池技术。这种技术是在开始就建立必定量的线程,批量处理一类任务,等待任务的到来。 任务执行完毕后,线程又能够执行其余的任务。等再也不须要线程的时候,就销毁。这样就省去了频繁建立和销毁线程的麻烦。
二者区别 :get
线程组是为了方便线程的管理效率
线程池是为了管理线程的生命周期,复用线程,减小建立销毁线程的开销。线程池