2
나는 다음과 같은 onSensorChanged() 메서드 뭔가 않는 SensorEventListener를 가지고 :onSensorChanged (...)에 동기화가 필요합니까?
값이 몇 가지 계산을 수행하기 위해의 handleEvent() 메소드에 액세스 할 것이다 클래스 변수입니다public void onSensorChanged(SensorEvent e){
values = e.values.clone();
handleEvent(); //do some computations
}
. 변수 값을 잠글 필요가 있습니까? 즉, 다른 스레드가 handleEvent()에있는 동안 onSensorChanged()를 호출하는 다른 스레드가 값을 재정의 할 수 있습니까?
미리 도움을 청하십시오!
빠른 답변 감사드립니다. 사실, 어떤 스레드가 실제로 onSensorChanged() 메소드를 호출합니까? 이 시스템 스레드가 있습니까? UI 스레드에서'values'에 액세스하려면 왜 동기화가 필요하지 않습니까? – user1086105
나는 내 대답을 편집했다. OnSensorChanged는 UI-Thread 내부에서 호출됩니다. – Renard
아 재미 있습니다! 이것은 하나의 스레드가'onSensorChanged()'에서 올바르게 동작하는 동안'onSensorChanged()'가 어떤 스레드에 의해 호출되지 않는다는 것을 의미합니다. 단 1 개의 UI 스레드 만 있기 때문에 맞습니까? 그래서이 경우 UI 스레드가 내 'handleEvent()'메서드를 실행하므로 동기화가 필요하지 않습니다 ... UI 스레드가'onSensorChanged() '? – user1086105