社区
Java SE
帖子详情
AtomicReference是做什么用的?
结贴是美德
2013-05-05 09:11:08
我的理解是: 引用的获取和赋值操作不是线程安全的。
API上说:An object reference that may be updated atomically.
貌似只是赋值不安全??
不知理解是否正确。
...全文
912
4
打赏
收藏
AtomicReference是做什么用的?
我的理解是: 引用的获取和赋值操作不是线程安全的。 API上说:An object reference that may be updated atomically. 貌似只是赋值不安全?? 不知理解是否正确。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fei1710
2013-05-05
打赏
举报
回复
atomicreference提供了compareAndSet系列的原子方法。 单纯的set本来就是原子操作。
lcf
2013-05-05
打赏
举报
回复
你看看它有些什么方法,每一个方法都是原子化操作(而原来未必是)
寻道的 Programmer
2013-05-05
打赏
举报
回复
直接赋值应该是一个原子操作
结贴是美德
2013-05-05
打赏
举报
回复
看了下源码,貌似是为了解决可见性的问题
【CAP】JAVA之
Atomic
Reference
非锁同步
并发最简单的竞态问题是操作一个基本变量,如一个整数。 复杂问题是同时操作多个变量,要保证变量的结果一致,比如A加1那B就要减1。 简单问题和复杂问题都可以通过锁来实现。 用锁划出临界区(一段代码),这段代码通过锁保证不能被并行执行。 代码就是对竞态数据的逻辑操作,并且只能通过这段代码操作竞态数据。 CAS提供了另一种解决竞态问题的方案。
Atomic
Reference
解决竞态问题 比如A加1那B就...
Atomic
Reference
和
Atomic
Stamped
Reference
Atomic
Reference
底层:
Atomic
Reference
原子应用类,可以保证你在修改对象引用时的线程安全性,比较时可以按照偏移量进行 怎样使用
Atomic
Reference
:
Atomic
Reference
<String> ar = new
Atomic
Reference
<String>(); ar.set("hello"); //CAS操作...
高并发编程之
Atomic
Reference
讲解
一、
Atomic
Reference
介绍 ①.
Atomic
Reference
和
Atomic
Integer非常类似,不同之处就在于
Atomic
Integer是对整数的封装,而
Atomic
Reference
则对应普通的对象引用。也就是它可以保证你在修改对象引用时的线程安全性。 ②.
Atomic
Reference
是作用是对”对象”进行原子操作。 提供了一种读和写都是原子性的对象引用变量。原子意味着多个线程...
什么时候需要
Atomic
Reference
?
问:既然在java中引用的赋值操作本身就是是原子的,那为什么还需要
Atomic
Reference
(原子引用)? 答:如果仅需要通过赋值操作改变一个引用,确实不需要
Atomic
Reference
。 // 注意volatile关键字 volatile Person person = new person("Jim"); public void processA() { // 赋...
Atomic
Reference
Atomic
Reference
是作用是对”对象”进行原子操作。 源码 public class
Atomic
Reference
<V> implements Serializable { private static final long serialVersionUID = -1848883965231344442L; private static final Unsa...
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章