2
我有一個SensorEventListener它確實在onSensorChanged()方法類似如下:onSensorChanged(...)需要同步嗎?
public void onSensorChanged(SensorEvent e){
values = e.values.clone();
handleEvent(); //do some computations
}
哪裏值是將在爲handleEvent()方法,以便做一些計算來訪問類變量。 我的問題是現在是否必須鎖定變量值,即可以通過調用onSensorChanged()而另一個線程在handleEvent()中的其他線程覆蓋值?
在此先感謝您的幫助!
好的感謝您的快速回答。順便說一句,哪個線程實際上調用'onSensorChanged()'方法?這是一些系統線程? 如果我要從UI線程訪問'values',爲什麼我不需要同步? – user1086105 2012-04-25 21:07:17
我編輯了我的答案。 OnSensorChanged在UI-Thread中被調用。 – Renard 2012-04-25 21:14:50
啊確定有趣!這意味着當一個線程在'onSensorChanged()'右邊工作時,onSensorChanged()'不會被某個線程調用?由於只有1個UI線程,對嗎?因此,對於這種情況,我不需要同步,因爲UI線程也會執行我的'handleEvent()'方法... 請問你從哪裏知道UI線程調用'onSensorChanged() '? – user1086105 2012-04-26 05:38:14