首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
java并发
订阅
slccie
更多收藏集
微信扫码分享
微信
新浪微博
QQ
18篇文章 · 0订阅
Semaphore-信号量的实现分析
从上述代码中可以看到,公平模式下获取许可和非公平模式下基本类似,只是为了保证 FIFO ,添加了 hasQueuedPredecessors 判断限制。 Semaphore 可以用来实现限流的作用。
JDK并发AQS系列(四)
前面说到用自旋方式来获取锁,能有效避免线程挂起和恢复。但它也有不足之处: 仅适用于占用时间短、颗粒度很小的情景。 需要硬件级别的原子操作。 它无法保证公平性。 每次读写操作需要同步每个处理器的缓存。 鉴于自旋锁的不足,Craig,Landin, Hagersten发明了CLH锁…
Java并发(5)- ReentrantLock与AQS
在synchronized未优化之前,我们在编码中使用最多的同步工具类应该是ReentrantLock类,ReentrantLock拥有优化后synchronized关键字的性能,又提供了更多的灵活性。相比synchronized,他在功能上更加强大,具有等待可中断,公平锁以及…
JUC解析-AQS(1)
其实关于AQS的解析,在google上有很多的分析文章,既有侧重源码分析的,也有侧重原理的,在这里我想从一个其他的角度来试着分析下这个概念。 独占模式:资源是独占的,一次只能一个线程获取。 共享模式:同时可以被多个线程获取,具体的资源的个数可以通过参数指定。 定义一个变量int…
CyclicBarrier - 同步屏障实现分析
CyclicBarrier 和 CountDownLatch 功能类似,不同之处在于 CyclicBarrier 支持重复利用,而 CountDownLatch 计数只能使用一次。
如何编写Log4j2脱敏插件
我所在的公司最近要求需要在所有地方都要脱敏敏感数据,应该是受faceBook数据泄密影响吧。 对于这种建议写个Util直接进行脱敏,因为mobile这个参数名在代码中是无法获取的,当时有想过对传的参数使用正则匹配,这样的话效率太低,会让每个日志方法都进行正则匹配,效率极低,并且…
漫话:如何给女朋友解释为什么双11无法修改收货地址
2018年11月11日上午11点,我拖着疲惫身躯回到家中,准备美美的睡上一觉,洗去身上值班一宿而带来的疲惫。突然想到之前有交代女朋友让她帮我抢东西,不知道怎么样了。 QPS、TR、并发用户数、最佳线程数等等这些都是系统对并发处理上有关的概念。可以用来衡量一个系统的可用性等指标。…
AQS的基本原理
AQS(AbstractQueuedSynchronizer)是一个用于构建锁和同步器的框架,许多同步器都可以通过AQS很容易并且高效的构造出来。不仅Reentrant和Semaphore是基于AQS构建的,还包括CountDownLatch、ReentrantReadWrit…
初识Lock与AbstractQueuedSynchronizer(AQS)
1. concurrent包的结构层次 在针对并发编程中,Doug Lea大师为我们提供了大量实用,高性能的工具类,针对这些代码进行研究会让我们队并发编程的掌握更加透彻也会大大提升我们队并发编程技术的热爱。这些代码在java.util.concurrent包下。如下图,即为co…
【高并发优化实践】10倍请求压力来袭,你的系统会被击垮吗?【石杉的架构笔记】
背景情况是这样:线上一个系统,在某次高峰期间MQ中间件故障的情况下,触发了降级机制,结果降级机制触发之后运行了一小会儿,突然系统就完全卡死,无法响应任何请求。 给大家简单介绍一下这个系统的整体架构,这个系统简单来说就是有一个非常核心的行为,就是往MQ里写入数据,但是这个往MQ里…