美文网首页
Java 的对象原子性

Java 的对象原子性

作者: yunhen | 来源:发表于2018-08-03 10:41 被阅读5次

AtomicReference、AtomicStampedReference、AtomicMarkableReference

这三个都是自JDK1.5开始加入到java.util.concurrent.atomic下面的。他们都可以在lock-free的情况下以原子的方式更新对象引用。

区别在于:AtomicStampedReference内部维护了一个[reference, integer] pairs的二元组。AtomicMarkableReference 内部维护了一个[reference, boolean] pairs的二元组。

AtomicStampedReference中的stamp用来保证是否被重复修改

主要方法

//比较设置 参数依次为:期望值 写入新值 期望时间戳 新时间戳
public boolean compareAndSet(V expectedReference,V  
newReference,int expectedStamp,int newStamp)
//获得当前对象引用
public V getReference()
//获得当前时间戳
public int getStamp()
//设置当前对象引用和时间戳,这个方法不是原子性的
public void set(V newReference, int newStamp)

相关文章

  • Java 的对象原子性

    AtomicReference、AtomicStampedReference、AtomicMarkableRefe...

  • Java 多线程三大核心【转载】

    Java 多线程三大核心 原子性 Java 的原子性就和数据库事务的原子性差不多,一个操作中要么全部执行成功或者失...

  • Java并发学习之synchronized(一)

    synchronized 具有原子性,可见性。原子性:由java内存模型来直接保证的原子性变量操作包括read,l...

  • Java 多线程三大核心

    目录:一、 原子性二、可见性三、顺序性 一、 原子性 Java 的原子性就和数据库事务的原子性差不多,一个操作中要...

  • 浅析 synchronized 底层

    synchronized 是 Java 的关键字之一,提供一种原子性的内部锁,Java 中的每个对象都可以把它当作...

  • java并发编程要点

    Java并发问题主要有三个核心概念:原子性,可见性,顺序性。 原子性 并发问题的原子性的概念和数据库事务的原子性是...

  • Java高并发--原子性可见性有序性

    Java高并发--原子性可见性有序性 主要是学习慕课网实战视频《Java并发编程入门与高并发面试》的笔记 原子性:...

  • 原子性(Atomicity)

    原子性(Atomicity) Java中,对基本数据类型的读取和赋值操作是原子性操作,所谓原子性操作就是指这些操作...

  • Java并发编程基础

    Java并发程序的设计 并发的三大特性:原子性,可见性和有序性。 原子性 原子性指的是一个操作一旦开始就不可中断。...

  • Java中的原子性和可见性

    原子性:在java语言原子性是指的一个不可以分割的操作,比如说 a = 0,这个就具有原子性,如果是a++, 这个...

网友评论

      本文标题:Java 的对象原子性

      本文链接:https://www.haomeiwen.com/subject/vekyvftx.html