好吧,所以我創建了一個帶有多個線程的Android程序。現在,當我在第二個線程,並希望在第一「東西」互動,我需要使用下面的代碼:由於最終的操作員而消除代碼冗餘?
new Handler().post(new Runnable() {
@Override
public void run() {
// do stuff
}
});
在該塊,我需要從訪問變量「外部」 。例如,我有一個double[10]
,我聲明並初始設置爲0,然後運行循環更新每個迭代中的每個條目。但是,爲了在上面的塊中引用這個變量,它需要是最終的。目前,我做的是以下幾點:
final double[] b = buckets;
但肯定必須有一個更有效的方法則不必使用兩倍的內存,只是爲了讓變量決賽?
也許使用syncronized setter? – ifloop
使用'公共同步雙getB(){返回b;}' – VenomVendor
我從來沒有遇到'synchronized'之前。我只是試圖使用它,但是因爲我的'buckets'聲明在一個方法中(它不是一個公共變量),我不太確定如何... –