![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java多线程
潜水的鱼儿
这个作者很懒,什么都没留下…
展开
-
解析ThreadLocal源码
解析ThreadLocal源码之前做项目是为了提升服务性能,将我们的数据库做了读写分离,其中核心的数据库动态切换就是使用ThreadLocal实现的,下面我们就通过ThreadLocal源码解析它是怎么帮我们做到数据库动态切换的。在看ThreadLocal的源码之前我们先来了解一下ThreadLocal的主要特点是什么,就以我实际项目中为例,为了提升数据库的读写性能,一台数据库已经无法解决越来...原创 2019-01-11 11:40:57 · 1142 阅读 · 0 评论 -
浅谈CAS以及CAS在java中应用
浅谈CAS以及CAS在java中应用cas是什么?cas是compareandswap的简称,从字面上理解就是比较并更新,简单来说:从某一内存上取值V,和预期值A进行比较,如果内存值V和预期值A的结果相等,那么我们就把新值B更新到内存,如果不相等,那么就重复上述操作直到成功为止。cas能做什么?上面我们了解了cas是什么了,那么它能解决什么问题呢?它可以解决多线程并发安全的问题,以前我们对...原创 2019-01-02 21:48:20 · 24205 阅读 · 26 评论 -
深入了解ReentrantLock可重入锁
深入了解ReentrantLock可重入锁最早当我们遇到线程不安全的问题时,脑子第一想到的是synchronize关键字进行加锁机制,保证在多线程情景中数据操作的正确性,但是从java1.5开始它又给我们提供了ReentrantLock可重入锁机制,为我们在多样化的业务场景中保驾护航!可重入锁的实现可重入锁分为两种锁,公平锁和非公平锁,简单解释一下公平锁和非公平锁的含义,公平锁顾名思义就是不...原创 2019-01-09 11:29:05 · 1123 阅读 · 0 评论