![](https://img-blog.csdnimg.cn/20200708140208448.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
JAVA
文章平均质量分 93
Java技术分享
Ambition_Bit
The Future can be expected.
展开
-
初识AQS-ReentrantLock加锁过程
Java的内置锁一直备受争议,在JDK1.6之前,synchronized这个重量级锁其性能一直较为低下:虽然在java1.6开始,进行了大量的锁优化策略,但是与Lock相比synchronized还是存在一些缺陷的:虽然synchronized提供了便捷的隐式获取锁和释放锁的机制(基于JVM机制),但是它却缺少了获取锁和释放锁的可操作性,可中断超时获取锁,且它在独占式的高并发环境下性能大打折扣:常见概念:自旋:什么是自旋,自旋就是一个通过循环不断尝试的过程。AQS队列:结构是使用双向链表设计的.原创 2020-08-31 01:01:08 · 315 阅读 · 0 评论 -
ThreadLocal初次见面
ThreadLocal是什么?开始学习ThreadLocal相信大家对并发编程都有一点点了解了,在多个线程访问一个共享变量的时候,为了保证线程安全,一般对于共享变量的访问需要进行适当的同步,就需要对变量进行加锁,这显然增加了使用者的负担,那么是否有一种方案让每一个线程访问自己的变量呢?不用你去思索了,JAVA开发者已经帮你想好了,使用ThreadLocal可以帮你解决这样的困惑。传统方案的设计ThreadLocal设计如上图可以看出,ThreadLocal为每一个线程创建了一个资源对象,线程之间原创 2020-08-20 01:30:23 · 284 阅读 · 0 评论