Java并发编程
文章平均质量分 75
waiting971118
这个作者很懒,什么都没留下…
展开
-
Sychronized锁升级的过程
Sychronized锁升级的过程1、偏向锁为什么要引入偏向锁偏向锁的升级2、轻量级锁为什么要引入轻量级锁?轻量级锁什么时候升级为重量级锁? 回答:在JDK1.6后Java对Sychronized锁进行了升级过程,主要包含无锁状态、轻量级锁、重量级锁,主要是针对MarkWord的变化1、偏向锁为什么要引入偏向锁 因为经过HotSpot的作者的大量研究发现,大多数时候是不存在锁竞争的,常常是一个线程多次获得同一个锁,因此如果每次都要竞争锁会增大很多没有必要付出的代价,为了降低获取锁的代价,才引入的原创 2022-03-21 17:22:46 · 428 阅读 · 0 评论 -
Java中的13个原子操作类
Java中的13个原子操作类(明明有12个,我不知道为啥说13个)1、原子更新基本类型类2、原子更新数组3、原子更新引用类型4、原子更新字段类 JDK1.5开始提供了java.util.concurrent.atomic包(简称Automic包),这个包中的原子操作类提供了一种用法简单、性能高效、线程安全地更新一个变量的方式。 变量的类型有很多种,所以在Automic包一共提供了13个类,属于4种类型的原子更新方式,分别是原子更新基本类型、原子更新数组、原子更新引用和原子更新属性(字段)。Atomi原创 2022-03-14 15:05:24 · 1454 阅读 · 0 评论 -
Lock和Sychronized
《Java并发编程艺术》---- 第五章、Java中的锁5.1 Lock接口5.2 队列同步器(AbstractQueuedSynchronized)5.1 Lock接口1、Syschronized锁与Lock锁1)synchronized是JVM层面实现的,java提供的关键字,Lock是API层面的锁。2)synchronized隐式获取锁和释放锁,不需要显示获取和释放锁,Lock则需要显式获取和释放锁。3)synchronized等待不可中断,除非抛出异常或者执行完成, Lock可以中断,通原创 2022-03-12 17:55:54 · 433 阅读 · 0 评论