2种线程池底层实现原理,线程池底层结构图解

首页 > 经验 > 作者:YD1662022-11-03 05:40:00

一个hashSet。所以,线程池底层的存储结构其实就是一个HashSet。

worker线程处理队列任务

2种线程池底层实现原理,线程池底层结构图解(9)

这两个钩子(beforeExecute,afterExecute)允许我们自己继承线程池,做任务执行前后处理。

到这里,源代码分析到此为止。接下来做一下简单的总结。

总结

所谓线程池本质是一个hashSet。多余的任务会放在阻塞队列中。

只有当阻塞队列满了后,才会触发非核心线程的创建。所以非核心线程只是临时过来打杂的。直到空闲了,然后自己关闭了。

线程池提供了两个钩子(beforeExecute,afterExecute)给我们,我们继承线程池,在执行任务前后做一些事情。

线程池原理关键技术:锁(lock,cas)、阻塞队列、hashSet(资源池)

2种线程池底层实现原理,线程池底层结构图解(10)

最后希望对你理解线程池有帮助。最后,留一个思考题,为什么线程池的底层数据接口采用HashSet来实现?

,
上一页123末页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.