![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程并发
Try_harder_every_day
这个作者很懒,什么都没留下…
展开
-
多线程无锁AtomicIntegerFieldUpdater<T>的使用出现的并发解释
多线程并发的解决分两类:加锁和无锁。1、加锁:使用synchronized修饰或者使用jdk的并发工具类包进行加锁 缺点:性能上稍微差点,可能会出现死锁。(当线程阻塞的时候,当抢夺资源失败到阻塞会有几万个时钟(硬件上的))2、无锁:使用CAS 算法实现,---里面具体实现了unsafe的操作。实现原子操作 优点:性能上更好,但是并不是很多场景都能用,有时候相对原创 2018-04-14 15:54:38 · 569 阅读 · 0 评论 -
ReentrantReadWriteLock源码分析与原理介绍
之前看了ReentrantLock独占锁和Semaphore共享锁的原理和介绍,结合这两个锁的就是ReentrantReadWriteLock读写锁。读写锁就是:读读共享,读写互斥,写读互斥,写写互斥。读写锁的特性:1、支持公平与非公平锁的获取 如: public ReentrantReadWriteLock(boolean fair)//默认是非公平的2、重进入:如:当一个读线程...原创 2018-04-24 18:08:14 · 260 阅读 · 0 评论 -
Java中的ReentrantLock的原理和部分源码分析
最近在研究jdk中的锁。下面我们说一下。原创 2018-04-20 17:09:03 · 306 阅读 · 0 评论 -
jdk自带的线程池框架ThreadPoolExcutor源码分析
一、前言 JUC这部分还有线程池这一块没有分析,需要抓紧时间分析,下面开始ThreadPoolExecutor,其是线程池的基础,分析完了这个类会简化之后的分析,线程池可以解决两个不同问题:由于减少了每个任务调用的开销,它们通常可以在执行大量异步任务时提供增强的性能,并且还可以提供绑定和管理资源(包括执行任务集时使用的线程)的方法。下面开始分析。二、ThreadPoolExecu转载 2018-04-28 15:29:48 · 812 阅读 · 0 评论