线程组和线程池的初步了解
1.线程组
threadgroup 可以对一批线程进行分类管理,java允许程序直接对线程进行控制,在默认
情况下所有的线程都属于主线程
public class lock {
public static void main(String[] args) {
ThreadGroup tg = new ThreadGroup("我是线程组");
String s = tg.getName() ; //通过线程组对象获取其组的名字
System.out.println(s);
Thread t1 = new Thread();
Thread t2 = new Thread();
System.out.println(t1.getThreadGroup()); //由线程去获取它的线程组 默认情况下所有线程都属于主线程
System.out.println(t2.getThreadGroup());
}
}
我们也可以给线程去设置分组:
public class lock {
public static void main(String[] args) {
ThreadGroup tg = new ThreadGroup("我是线程组");
Thread t1 = new Thread(tg,"clara"); //在线程组中创建线程
System.out.println(t1.getThreadGroup().getName());
tg.setDaemon(true); //可以对整个组去设置守护线程
}
}
线程的生命周期:
创建:创建线程对象
就绪:线程对象已经启动,但未得到CPU的执行权
运行:获取了CPU执行权
阻塞:没有cpu的执行权,回到就绪状态
死亡:代码运行完毕,线程死亡