![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java并发
文章平均质量分 85
little sky
little sky
展开
-
【基本功】不可不说的Java“锁”事
推介文章:https://mp.weixin.qq.com/s?__biz=MjM5NjQ5MTI5OA==&mid=2651749434&idx=3&sn=5ffa63ad47fe166f2f1a9f604ed10091&chksm=bd12a5778a652c61509d9e718ab086ff27ad8768586ea9b38c3dcf9e017a8e49bcae3df9bcc8&scene=38#wechat_redirect原创 2021-02-28 11:51:25 · 247 阅读 · 2 评论 -
Java并发之AQS详解
目录1 基本实现原理1.1 如何使用1.2 设计思想2 自定义同步器2.1 同步器代码实现2.2 同步器代码测试3 源码分析3.1 Node结点3.2 独占式3.3 共享式4 总结 这也是一遍转载大佬对于ReentrantLock源码独特分析。...原创 2019-04-01 21:13:37 · 123 阅读 · 0 评论 -
ThredLocal
ThredLocal概述ThreadLocal是一个线程变量工具类。主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰,例如A线程和B线程都想使用一个变量,此时就存在强资源的问题,而这个变量他可以有多份,此时就可以用ThreadLocal作为变量的管理者 ,不存在多线程隐患. 同时他隐式的可以作为一个线程内部的传递信息的一个工具 . ThreadLocal从另一个角度来解决线程的并发访问。ThreadLocal会为每一个线程提供一个独立的变量副本,从而隔离了多个线程对数据原创 2021-01-24 14:01:53 · 385 阅读 · 0 评论 -
ScheduledThreadPoolExecutor遇到的坑
线上表象:在项目中,有这样一个需求,将内存事件队列的事件定时上传到阿里云事件监控,使用ScheduledThreadPoolExecutor定时去拉取内存队列事件调用阿里云接口处理。// 初始化本地任务内存事件队列LinkedBlockingQueue<EventEntry> eventQueue = new LinkedBlockingQueue<>(10000);...原创 2020-02-21 08:39:37 · 7844 阅读 · 1 评论 -
Java并发编程之ReentrantReadWriteLock详解
ReentrantLock是排他锁,排他锁在同一时刻仅有一个线程可以进行访问,实际上独占锁是一种相对比较保守的锁策略,在这种情况下任何“读/读”、“读/写”、“写/写”操作都不能同时发生,这在一定程度上降低了吞吐量。然而读操作之间不存在数据竞争问题,如果"读/读"操作能够以共享锁的方式进行,那会进一步提升性能。因此引入了ReentrantReadWriteLock,顾名思义,ReentrantRe...转载 2019-11-30 21:47:02 · 130 阅读 · 0 评论 -
Java并发编程之ReentrantLock详解(转)
简介ReentrantLock是一个可重入且独占式的锁,它具有与使用synchronized监视器锁相同的基本行为和语义,但与synchronized关键字相比,它更灵活、更强大,增加了轮询、超时、中断等高级功能。ReentrantLock,顾名思义,它是支持可重入锁的锁,是一种递归无阻塞的同步机制。除此之外,该锁还支持获取锁时的公平和非公平选择。ReentrantLock的类图如下:Re...转载 2019-11-30 20:57:58 · 109 阅读 · 0 评论