onSensorChanged(...)需要同步吗?

时间:2012-04-25 18:45:19

标签: android thread-safety android-sensors

我有一个SensorEventListener,它在onSensorChanged()方法中执行如下操作:

public void onSensorChanged(SensorEvent e){
   values = e.values.clone();
   handleEvent(); //do some computations
}

其中values是一个类变量,它将在handleEvent()方法中被访问,以便进行一些计算。 我现在的问题是我是否必须锁定变量值,即可以通过另一个调用onSensorChanged()的线程覆盖值,而另一个线程在handleEvent()中?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

OnSensorChanged在UI-Thread内被调用,因此如果你在ui-thread之外的另一个线程中访问values,你需要同步或使用其他技术,比如队列。