JUC合集
文章平均质量分 77
深入理解并发包
明天争取
听一首好歌,写一段代码,阅生活百态。
展开
-
【JUC】原子包常用方法介绍---下
AtomicFieldUpdater解决无锁并发 要想使得共享数据的操作具备原子性,目前有两种方案, 第一,使用关键字synchronized进行加锁; 第二,将对应的共享数据定义成原子类型,比如将Int定义成AtomicInteger,其他数据类型则没有与之直接对应的原子类型,我们可以借助于AtomicReference进行封装。 前者提供了互斥的机制来保证在同一时刻只能有一个线程对共享数据进行操作,所以说它是一种悲观的同步方式;后者采用CAS算法提供的Lock Free方式,允许多个线程同时进行原创 2021-01-16 16:52:16 · 246 阅读 · 0 评论 -
【JUC】原子包常用方法介绍---上
原子类型产生的原因 任何新工具的出现,都是为了解决某个具体问题而诞生的,否则就没有存在的必要了,原子类型就是一种无锁的、线程安全的、使用基本数据类型和引用类型的很好的解决方案。 AtomicInteger的常用方法 AtomicInteger的创建 public AtomicInteger() 创建AtomicInteger的初始值为0 public AtomicInteger(int initialValue) 创建AtomicInteger并且指定初始值,无参的AtomicInteger对原创 2021-01-16 16:52:28 · 191 阅读 · 0 评论