本文通过了解ThreadPoolExecutor和Future的实现原理做简单的扩展,使得异步提交任务变得更加优雅和简便。强化了动手能力的同时,也能加深对并发编程的一些认知。当然,本文只是提供一个十分简陋的实现,笔者其实还想到了如对回调处理的耗时做监控、回调打上分组标签执行等等更完善的功能,等到有需要的场景再进行实现。
这里记录一下过程中的一些领悟:
Executor#execute()是线程池的核心接口,所有其他功能都是基于此接口做扩展,它的设计本身是无状态的。
灵活使用适配器模式,可以在不改变已发布的接口的功能同时实现新的接口的功能适配。
要善于发掘和使用JDK类库设计者留给开发者的扩展接口。
个人博客Throwable's Blog