
并发
文章平均质量分 94
励志成为大牛的小牛
这个作者很懒,什么都没留下…
展开
-
剖析JMM&并发三大特性
Java虚拟机规范中定义了Java内存模型(Java Memory Model,JMM),用于屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的并发效果,JMM规范了Java虚拟机与计算机内存是如何协同工作的:规定了一个线程如何和何时可以看到由其他线程修改过后的共享变量的值,以及在必须时如何同步的访问共享变量。JMM描述的是一种抽象的概念,一组规则,通过这组规则控制程序中各个变量在共享数据区域和私有数据区域的访问方式,JMM是围绕原子性、有序性、可见性展开的。原创 2023-11-21 10:25:05 · 127 阅读 · 0 评论 -
3分钟轻松搞懂CAS原理
1.什么是CAS?------ 比较并交换,主内存值和工作内存值相同,就set为更新值。2.CAS原理是什么?------ UnSafe类和自旋锁。理解那个do while循环。3.CAS缺点是什么?------ 循环时间长会消耗大量CPU资源;只能保证一个共享变量的原子性操作;造成ABA问题。4.什么是ABA问题?------ t2线程先将A改成B,再改回A,此时t1线程以为没人修改过。5.如何解决ABA问题?------ 使用带时间戳的原子引用。原创 2023-09-12 09:00:15 · 779 阅读 · 1 评论 -
ReentrantLock详解
ReentrantLock详解原创 2023-08-15 14:40:45 · 96 阅读 · 0 评论 -
ReentrantReadWriteLock剖析
锁降级指的是写锁降级成为读锁。如果当前线程拥有写锁,然后将其释放,最后再获取读锁,这种分段完成的过程不能称之为锁降级。锁降级是指把持住(当前拥有的)写锁,再获取到读锁,随后释放(先前拥有的)写锁的过程。接下来看一个锁降级的示例。if(!update) {// 必须先释放读锁 readLock . unlock();// 锁降级从写锁获取到开始 writeLock . lock();try {if(!update) {// 准备数据的流程(略) update = true;原创 2023-08-06 09:54:40 · 100 阅读 · 0 评论 -
volatile详解
volatile详解原创 2023-07-25 18:20:56 · 117 阅读 · 0 评论 -
关键字 synchronized详解
深入研究synchronized关键字原创 2023-06-24 12:13:11 · 144 阅读 · 1 评论