2016-09-23 72 views
2

什麼是C#的同等Java#Interlocked.Exchange(Object, Object) : Object? Java有沒有辦法在一個原子步驟中執行以下操作無鎖:1)本地存儲變量的引用2)將另一個引用設置爲相同的變量?C#「Interlocked.Exchange(Object,Object):Object`的Java等價物是什麼?

+0

您將承擔'Interlocked'不使用鎖。任何來源? –

+1

它沒有。我會讓@ jon-skeet回答你的問題;-) [Here](http://www.albahari.com/threading/part4.aspx#_Interlocked)你會找到一個詳細的解釋。 – jeromerg

+0

好的。我從你認爲它所做的問題中讀到。 –

回答

7

有沒有操作的任意可變做到這一點,據我所知......但這是AtomicReference類型是什麼:

private AtomicReference<String> stringReference; 

... 

String oldValue = stringReference.getAndSet(newValue); 
相關問題