Java 객체의 메서드를 호출 할 수 있어야하는 일부 원시 스레드 (JVM에 연결되지 않음)로 구성된 Android 응용 프로그램이 있습니다.네이티브 멀티 스레딩 및 JNI
이 작업을 수행하는 방법은 관련된 Java 객체에서 호출하는 JNI 함수를 생성하여 필요한 Java 객체 메소드 ID, JNIEnv 및 객체 참조를 정적 네이티브 (* env) -> CallVoidMethod (env, this, JavaMethodID, ...) 등을 사용하여 필요한 메소드에 액세스 할 수 있도록 데이터 구조를 설정합니다.
저는 이것을 확신하지 못합니다. JNIEnv 포인터가 스레드간에 공유 될 수없고 JVM에 연결된 스레드 만이 이런 종류의 작업을 수행 할 수 있다는 것을 알기 때문에 접근 방식이 작동 할 것입니다 ...
실용적인 접근 방법입니까?
는'JNIEnv'은 현재 스레드에 대한 유효 생성 된 글로벌 참조를 제거하는 것을 잊지하지만하지 마십시오 . 그래서 포인터를 저장하고 클래스, 객체, 메소드 ID에 대한 전역 참조를 저장하면됩니다. –
http://developer.android.com/training/articles/perf-jni.html – fadden