线程组(ThreadGroup)源码学习总结

学习于林炳文Evankaka原创作品。出处http://blog.csdn.net/evankaka

 

 

ThreadGroup是做什么的

 线程组,顾名思义,像数组一样,将多个线程放在同一个集合中进行管理。另外还有个好处便是可以准确的定位到某个线程和进行统一的异常捕获。

 简单运用

 

//当前所运行线程所属的线程组
Thread.currentThread().getThreadGroup().getName();

//创建新的线程的时候可以指定线程组
ThreadGroup threadGroup1 = new ThreadGroup("group1");//参数为线程组名
ThreadGroup threadGroup2 = new ThreadGroup("group2");
Thread thread1 =new Thread(threadGroup1, "group1's member");
Thread thread2 =new Thread(threadGroup2, "group2's member");

Thread 构造函数

    public Thread(ThreadGroup group, Runnable target) {
	init(group, target, "Thread-" + nextThreadNum(), 0);
    }
 
 
    public Thread(ThreadGroup group, String name) {
	init(group, null, name, 0);
    }
 
 
    public Thread(ThreadGroup group, Runnable target, String name) {
	init(group, target, name, 0);
    }
 
    public Thread(ThreadGroup group, Runnable target, String name,
                  long stackSize) {
	init(group, target, name, stackSize);
    }

四个构造函数的重载

最终都是init(ThreadGroup g, Runnable target, String name,long stackSize)

其中g是所属线程组,target是runable目标,name 名字,stackSize 初始栈大小(0表示默认) [Sparc: 512, Solaris Intel: 256, Sparc 64bit: 1024 all others 0]

private void init(ThreadGroup g, Runnable target, String name,
                      long stackSize) {
	Thread parent = currentThread();
	SecurityManager security = System.getSecurityManager();
	if (g == null) {
         //安全检查
	    if (security != 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值