
JUC孤独路上的心酸历程
文章平均质量分 75
博主在学习JUC这条孤独小路上经历的风雨坎坷,仅有风雨、坎坷,没有彩虹
那个黎明
一个向往自由的工具小明
展开
-
ThreadLocal原理分析及内存问题
ThreadLocal这个类在并发编程中越来越多的被使用到,为什么呢?怎么用呢?原理是什么呢?,如果你对这些问题也存在疑惑,那么不妨看完这篇文章,应该或多或少会帮助到你????原创 2022-02-08 16:53:26 · 470 阅读 · 0 评论 -
Semaphore、CountdownLatch、CyclicBarrier
信号量,用来限制能同时访问共享资源的线程上限加解锁流程Semaphore有点像一个停车场,permits就好像停车位数量,当前线程获得了permits就像是获得了停车位,然后停车场显示空余车位减一刚开始,permis(state)为 3,这时5个线程来获取资源...原创 2021-08-25 11:44:01 · 122 阅读 · 0 评论 -
读写锁ReentrantReadWriteLock原理
出现线程安全问题的核心要素是什么?无外乎多个线程同时操作共享资源,那么为了避免出现线程问题只需要回避该要素,我们通常最先想到的方案是什么?加把锁!这样是能解决线程的安全问题,但是又会使程序的性能下降,遇到这样的问题该怎么办呢?仔细分析多个线程同时操作共享资源这句话,会发现其中有同时操作共享资源这个操作,那么问题就明显了,我多个线程同时改变这个共享资源会出现线程安全问题,但是多个线程同时读取共享资源也会出现安全问题吗?这样细化下来我们发现,不论对共享资源是修改还是读取都加锁,会损失性能,那么我们可不可.原创 2021-08-24 14:55:41 · 132 阅读 · 0 评论 -
AQS原理
当我们在进行开发工作的过程中,线程上的问题存在疑问去看网上找答案时,文章中都会出现AQS这个关键词,那么AQS是什么?1.什么是AQSAQS全称是AbstractQueuedSynchronizer,是阻塞式锁和相关同步器工具的框架存在的的特点有...原创 2021-08-23 14:57:46 · 120 阅读 · 0 评论 -
ReentrantLock原理
ReentrantLock原理Reentrantlock位于java.util.concurrent.locks包下属于juc并发变成工具包,该类功能强大并且设计思路精巧,值得我们学习1.非公平锁实现原理对于ReentrantLock来说默认构造器使用的是非公平的实现public ReentrantLock() { sync = new NonfairSync();}NonfairSync继承自AQS所以核心也是对state进行操作,下面通过图解的形式先了解下原理没有竞争时2.公原创 2021-08-20 17:30:58 · 229 阅读 · 0 评论