
多线程
文章平均质量分 95
想当Java高手的小趴菜
这个作者很懒,什么都没留下…
展开
-
线程池ThreadPoolExecutor原理解析与源码阅读
本文重点介绍线程池的执行原理,相信大部分人都不了解线程池如何新增线程、如何维护核心线程不被回收、如何使非核心线程在一定时间后被回收。原创 2025-02-13 20:45:12 · 992 阅读 · 0 评论 -
FutureTask源码深度解析
写在前面:阅读本文前必须对Java多线程知识有所了解。本文将深度解析FutureTask的源码,包括其怎么执行、怎么使调用get的线程阻塞、怎么解除这些线程阻塞、怎么取消以及中断。建议将这个类作为学习多线程的第一站,还是能学到不少东西的。原创 2025-01-15 21:01:04 · 826 阅读 · 0 评论 -
ThreadLocal原理解析与源码深度阅读
本文将讲解1.ThreadLocal内部结构,与ThreadLocalMap、Thread之间的关系 2.ThreadLocalMap的Entry为什么key为弱引用,value为强引用 3.ThreadLocal采取了哪些措施避免内存泄漏 4.详细的带注释的源码阅读如果key为强引用,则Entry对象永远对ThreadLocal对象有一个强引用,ThreadLocal对象将不会被清理,即使项目中已经无变量引用这个ThreadLocal对象。原创 2025-01-03 18:33:15 · 803 阅读 · 2 评论 -
ThreadLocal的介绍与使用规范,初学者必看
很多人刚学ThreadLocal时,都以为它本身是一个存值的容器,这是一个很致命的误解,如果你这么认为,那你永远也用不好它。我们平时为了说话方便,都说把xxx存在ThreadLocal中,这其实是一个逻辑存,并不是真的存在这个对象里。第一个要注意的点是,ThreadLocal应该尽可能在流量的入口set,例如springboot的拦截器、过滤器、AOP中以及系统的门面方法中。因为这样,才能确保在执行完逻辑后,在finally中remove。原创 2024-12-29 21:43:14 · 779 阅读 · 2 评论