从文档页面: 注意:要正确嵌套多个重叠,子类通常应在此方法的开头调用super.afterExecute。
如果我有一个ThreadPoolExecutor的子类链,每个子类都有一个afterExecute覆盖,那么放入super.afterExecute将确保其各自子类中的每个afterExecute覆盖都会运行?
由于ThreadPoolExecutor中的原始afterExecute方法为空,将super.afterExecute放在第一个子类中没有做任何有用的事情?
答案 0 :(得分:2)
也许,但是如果你不调用super.afterExecute()
,有些情况下你可能会遇到问题,因为你的代码仍会运行,但是如果执行者可能无法正常运行:
不彻底就像一颗可能会爆炸的定时炸弹,有一天会发现很多很难找到这个bug。