В функциях обратного вызова Java JNI, как лучше всего получить JNI env, поскольку он не входит в сигнатуру функции, как другие собственные функции?

Когда я погуглил то, что смог найти, я кэшировал указатель JavaM в функции загрузки JNI, а затем использовал этот указатель javaVM для получения env JNI в функции обратного вызова.

Он работает нормально, пока ссылка указателя не изменится для JavaVM?


person Gourav Dhiman    schedule 11.10.2018    source источник
comment
Возможный дубликат управления памятью потоков JNI Attach/Detach   -  person Andrew Henle    schedule 11.10.2018
comment
Я не уверен, что точно понимаю, о чем вы спрашиваете. Но если ваш вопрос заключается в том, как убедиться, что у вас есть действительный JNIEnv* в любом потоке, см. jnienv/30026231#30026231" title="как лучше всего сохранить jnienv">stackoverflow.com/questions/30026030/   -  person Michael    schedule 11.10.2018