我有一个SensorEventListener,它在onSensorChanged()方法中执行如下操作:
public void onSensorChanged(SensorEvent e){
values = e.values.clone();
handleEvent(); //do some computations
}
其中values是一个类变量,它将在handleEvent()方法中被访问,以便进行一些计算。 我现在的问题是我是否必须锁定变量值,即可以通过另一个调用onSensorChanged()的线程覆盖值,而另一个线程在handleEvent()中?
提前感谢您的帮助!
答案 0 :(得分:2)
OnSensorChanged在UI-Thread内被调用,因此如果你在ui-thread之外的另一个线程中访问values
,你需要同步或使用其他技术,比如队列。