`

java-通过钩子扩展ThreadPoolExecutor线程池

阅读更多

1、ThreadPoolExecutor的设计是可扩展的,它提供了几个钩子让子类去覆写

1)beforeExecute和afterExecutor:可有它们来进行信息收集。无论任务是正常地从run中返回,还是抛出一个异常,afterExecutor都会被调用。如果任务完成后抛出一个error,则afterExecute不会被调用。如果beforeExecute抛出一个RuntimeException,任务将不被执行,afterExecute也不会被调用。

2)terminated钩子会在线程池完成关闭动作后调用,也就是当所有任务都已完成并县城所有工作者线程也已经关闭后,会执行terminated。terminated释放Executor在生命周期内分配到的资源,还可以发出通知、记录日志或完成统计信息。

http://deepfuture.iteye.com/blog/599666

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics