java核心
文章平均质量分 65
偶像java练习生
再小的帆也能远航
展开
-
java 可重入锁
公平锁,非公平锁公平锁:非常公平,不能插队,必须先来后到!非公平锁:非常不公平,可以插队,例子:一个线程3s 执行完,一个线程3h 执行完,先让3s 的执行,需要插队!Lock lock = new ReentrantLock(); public ReentrantLock() { sync = new NonfairSync();}ReentranLock 默认是非公平锁但是可以通过他的构造方法改变为公平锁: 如下 Lock lock = new ReentrantLock(true)原创 2021-06-22 22:46:25 · 524 阅读 · 3 评论 -
深入理解CAS
什么是CASUnsafe 类打断点发现this + 偏移量 不等 var5则不自增,返回 var5自旋锁:CAS : ABA 问题:(狸猫换太子)CAS : 比较当前工作内存中的值和主内存中的值,如果这个值是期望的,那么则执行操作,否则不执行!如果不是则一直循环优点:自带原子性缺点:循环比较耗时,一次性只能保证一个g共享变量的原子性,ABA 问题...原创 2021-06-17 22:45:25 · 359 阅读 · 0 评论