C#`Interlocked.Exchange(Object,Object):Object`的Java等价物是什么?
C#C#`Interlocked.Exchange(Object,Object):Object`的Java等价物是什么?,java,c#,locking,interlocked,Java,C#,Locking,Interlocked,C#Interlocked.Exchange(Object,Object):Object的Java等价物是什么?Java中有没有一种方法可以在单个原子步骤中不加锁地执行以下操作:1)本地存储变量的引用2)为同一变量设置另一个引用?据我所知,没有任何操作可以对任意变量执行此操作。。。但这就是该类型的用途: private AtomicReference<String> stringReference; ... String oldValue = stringReference.ge
Interlocked.Exchange(Object,Object):Object
的Java等价物是什么?Java中有没有一种方法可以在单个原子步骤中不加锁地执行以下操作:1)本地存储变量的引用2)为同一变量设置另一个引用?据我所知,没有任何操作可以对任意变量执行此操作。。。但这就是该类型的用途:
private AtomicReference<String> stringReference;
...
String oldValue = stringReference.getAndSet(newValue);
私有原子引用stringReference;
...
字符串oldValue=stringReference.getAndSet(newValue);
您假定互锁
不使用锁。有消息来源吗?没有。我会让@jon skeet回答你的问题;-)你会找到详细的解释,好的。我从你的问题中读到你认为是的。