java基础--27.了解线程组ThreadGroup
2016-12-16 16:31
681 查看
Java中使用ThreadGroup来表示线程组,它可以对一批线程进行分类管理,Java允许程序直接对线程组进行控制。
默认情况下,所有的线程都属于主线程组(main)。
public final ThreadGroup getThreadGroup()我们也可以给线程设置分组
Thread(ThreadGroup group, Runnable target, String name)参数:group–要加入的线程组的引用
其他方法
void interrupt()中断此线程组中的所有线程。
void destroy()
销毁此线程组及其所有子组。
void setDaemon(boolean daemon)
更改此线程组的后台程序状态。
void setMaxPriority(int pri)
设置线程组的最高优先级。
int getMaxPriority()
返回此线程组的最高优先级。
示例代码:
//定义一个线程对象 public class MyRunnable implements Runnable { @Override public void run() { for (int x = 0; x < 100; x++) { System.out.println(Thread.currentThread().getThreadGroup().getName() + ":" + x); } } } //测试用例: public class ThreadGroupDemo { public static void main(String[] args) { MyRunnable my = new MyRunnable(); ThreadGroup tg = new ThreadGroup("这是一个新的线程组"); Thread t1 = new Thread(tg, my, "紫霞仙子"); Thread t2 = new Thread(tg, my, "刘意"); // t1.start(); // t2.start(); System.out.println(t1.getThreadGroup().getName()); System.out.println(t2.getThreadGroup().getName()); //可以通过组统一设定该组所有成员的属性 tg.setDaemon(true); tg.setMaxPriority(0); } }
我们可以通过线程组对象对整个组内的线程进行统一的操作,比如设置权限、杀死全部线程等。一般来说很少用到,了解即可。
相关文章推荐
- java --threadgroup线程组与UncaughtExceptionHandler
- JavaSE8基础 Thread getThreadGroup 将新建的线程加入到一个指定线程组中
- JavaSE8基础 ThreadGroup getName 获得线程所在线程组的名字
- Java线程基础(四):ThreadGroup、Volatility
- Java中的ThreadGroup线程组
- Java-理论知识之线程组ThreadGroup
- Java基础了解
- java线程 Thread.sleep()的学习了解
- 做java程序员有一段时间了,但是感觉基础的东西了解的很少很少,我从现在开始从新开始。。。。。。。。。。。学习笔记(连载)给有需要的人
- [Java框架-grails从基础到实践]2、groovy 介绍-了解即可
- java多线程 基础(二) Thread Runnable
- 了解Java密码扩展的基础
- java语言基础-3-27
- java基础之Thread与Runnable的区别
- JAVA学习第三回:JAVA语法基础:大致了解
- JAVA基础(多线程Thread和Runnable的使用区别
- 线程组(ThreadGroup )
- [零基础学JAVA]Java SE应用部分-27.Java IO操作(01) 推荐
- Java 应了解的基础知识
- Java基础了解