2
假設以下單:是否產生揮發性類擔保揮發類變量
public class Test{
private static volatile Test test = null;
private static int test_int = 0;
private static String test_string = "test";
public int getInt(){
return test_int;
}
public String getString(){
return test_string;
}
private static Test getInstance(){
if(test == null){
synchronized(Test.class){
if(test == null)
test = new Test();
}
}
}
通過聲明單個實例測試揮發的test_int和test_string也被認爲是揮發性還是必須聲明爲這樣?我想通過讓課程本身變得不穩定,那麼該課程下的所有東西都會變得不穩定,但是我不確定這一點。提前致謝。
+1:同意,你應該使用這樣的AtomicInteger,AtomicLong的或的AtomicReference的包裝來處理安全運行。只有狡辯是你只能擁有易變的字段而不是局部變量。 ;) – 2011-03-06 19:49:33
我們如何在上面的例子中使用'AtomicInteger'和'AtomicReference'.Culd編輯並示例 – Deepak 2011-03-07 09:13:19
@Deepak:您只需製作一個最終的AtomicInteger(或其他)變量,然後調用對象以原子方式改變包裝的值。 – 2011-03-07 09:17:38