多线程
小伙子什么车
这个作者很懒,什么都没留下…
展开
-
【多线程高并发系列】J.U.C并发容器
J.U.C并发容器同步容器如Vector、Hashtable、Collections.synchronizedXXX虽然保证线程安全,但同一时间只允许有一个线程访问,使各个线程的操作变成了线性操作。为了提高并发度,juc包下的并发容器诞生。并发容器List、Set、Map一、ConcurrentHashMapJDK1.7JDK1.7采用数组+链表,结构与1.7的HashMap类似。使用分段锁思想保证线程安全。每个ConcurrentHashMap中有一个Segment[]数组,每个Se原创 2020-07-12 11:02:19 · 305 阅读 · 0 评论 -
【多线程高并发系列】透过ReentrantLock看AQS
透过ReentrantLock看AQS需要注意的是:ReentrantLock和synchronized对于wait/await或notify/signal方法的调用不会积压,也就是说当等待队列为空时调用notify/signal不会产生任何效果,并且会消耗调用的效果。于此相反的是LockSupport中的park和unpark,对于这两种方法的调用会积压,也就是说先调用unpark再调用par...原创 2020-03-07 12:07:50 · 215 阅读 · 0 评论 -
【多线程高并发系列】ThreadLocal内存泄漏分析
一、ThreadLocal结构每个Thread都有一个ThreadLocalMap类型的成员变量threadLocals,ThreadLocalMap中有一个Entry[ ]类型的成员变量table,Entry保存对threadLocal对象的引用和对应set进去的值,Entry本身继承了WeakReference。ThreadLocal更像一个工具,ThreadLocalMap实现了对内部E...原创 2020-02-27 01:26:40 · 406 阅读 · 0 评论