여기저기 책도 뒤져보고 검색도 해서.. java쪽에서 jni로 cpp에 있는 변수를 '필요할 때' 가져오려고 하는데..
값이 제대로 안가져옵니다.
예를 들면 아래와 같습니다.

1. 플랫폼쪽에서 어떤 이벤트에 의해 cpp(안드로이드 디폴트 소스)쪽에 있는 변수값이 변경됨.
2. java 어플에서 특정 이벤트를 받을 때마다 jni이용해서 cpp에 있는 변수값을 가져오려고함
3. 결과는 항상 변경된 변수값이 아닌 초기값, 예를 들어 int형 변수면 0만을 가져옴.(cpp쪽 로그를 보면 해당 변수는 값이 변경되어 있음.)

여러모로 고민해본 결과 대부분의 책이나 검색 내용에서는 jni를 통해서 "바로" 변수값을 return하는 경우는 문제가 없는 것
같은데, 그렇게 하고 싶은게 아니고.. cpp에 있는 변수는 어떤 다른 이벤트에 의해서 수시로 변경이 되고,
java 어플 또한 어떤 이벤트를 받는 경우에만 cpp에 있는 변수값을 가져오려고 하니까 안되는것 같습니다.
즉 함수나 변수를 즉시 return하도록 하면 문제가 없을것 같은데.. 시간차를 두고 필요한 시점에 cpp에 있는
변수를 가져오려고 하니까 안되는것 같습니다.
원인은 제 짧은 지식으로는 감이 안오네요...
이런 경우에 대한 원인과 해결방법에 대해 조언을 구합니다.