跟我学(Effective Java 2)第73条:避免使用线程组

第73条:避免使用线程组

除了线程、锁、监视器外,系统还提供了一个基本的抽象,即线程组(thread group)。线程组的目的是作为一种隔离applet(小程序)的机制,但实际上却没达到这个目的。它没有提供线程安全性功能,而是 允许同时把线程的某些基本功能应用到一组线程上,基本上已经废弃了。

从线程安全性的角度来看,ThreadGroup API非常弱。为了得到一个线程组中的活动线程列表,你必须调用enumerate方法,以便容纳线程。但如果线程增加了,而线程组还比较小,enumerate方法就会悄然的忽略掉无法再数组中容纳的线程。

后期Java为什么没对它进行修复和优化,是因为线程组已经过时了,没必要修正了。

总而言之,线程组并没有提供太多有用的功能,而且他们提供的许多功能还是有缺陷的。我们最好把线程组看做是一个不成功的试验,你可以忽略掉他们。如果你正在设计的一个类需要处理线程的逻辑组,或许就应该使用线程池executor(68条)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值