![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程
天才丶小熊猫
这个作者很懒,什么都没留下…
展开
-
原子操作 CAS
原子操作 CAS 什么是原子操作 利用现代处理器都支持CAS指令,循环执行CAS指令,直至成功。指令级别的保证原子操作。 CAS的原理 内存地址 V 期望值 A 新值 B 当地址V上的值等于A时,就把B赋值给V,若不等于,就不做任何操作,或一直循环。 CAS的问题: 1、ABA问题 内存地址上的值变化 A ->B -> A 可以加版本号解决。 则值的变化就为 A1.0->...原创 2019-04-03 10:35:55 · 159 阅读 · 0 评论 -
读写锁 ReadWriteLock和Synchronized的比较
排他锁: 同一时刻只允许一个线程访问 读写锁: 同一时刻允许多个读线程同时访问,但是写线程访问的时候,所有的读、写都被会被阻塞,适用于读多写少的场景。 ReadWriteLock接口和读写锁ReentrantReadWriteLock 读写锁的实现 public class RwLockImpl implements GoodsService{ private Goods g...原创 2019-08-18 16:08:51 · 334 阅读 · 0 评论 -
ReentrantLock和Synchronized的区别
Lock和Synchronized的区别 Synchronized 1、synchronized修饰后,操作顺序为:拿到锁->进行操作->释放锁,无法手动干预 Lock 1、lock() 获得锁 2、lockInterruptibly() 中断锁的过程 3、tryLock() 尝试获得锁 4、tryLock(long time, TimeUnit unit) 尝试获得锁,并添加超时时...原创 2019-08-18 15:12:02 · 167 阅读 · 0 评论