effective java executor和task优先于线程

如果编写的是小程序,或者轻载的服务器,使用Executor.newCachedThreadPool通常是个不错的选择。
在大负载的服务器中,最好使用Executor.newFixedThreadPool,他为你提供了一个包含固定线程数目的线程池,活着为了最大限度的控制他,就直接使用ThreadPoolExecutor类

你不仅应该尽量不要编写自己的工作队列,而且还应该尽量不直接使用线程。现在关键抽象不再是Thread了,它以前既充当工作单位,又是执行机制,工作单位和工作单位实分不开的,现在关键抽象是工作单元,称作任务(task)。

任务有两种:Runnable及其近亲Callable(它与Runnable类似,但它会返回值),执行任务的通用机制是executor service

Timer只有一个线程来执行任务,如果timer唯一的线程跑出未被不活的异常,timer就会停止工作。而线程池executor支持多个线程,并且优雅的从跑出未受检异常的任务中恢复。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值