- ★★Java質問・相談スレッド173★★ [転載禁止]©2ch.net
798 :デフォルトの名無しさん[]:2015/06/09(火) 17:57:32.76 ID:g1ZC80Dv - JNIでネイティブ関数からJavaメソッドの呼び出しをやろうとしてます。
JNICALLなネイティブ関数からはJavaメソッド呼び出しができるのですが、 pthread_createで作成したスレッドが実行する関数からはJavaメソッドの呼び出しが 失敗します。 1. JNICALLなネイティブ関数でJNIEnvやMethodIDを外部変数に保存。 pthread_create実行。 2. pthread_createで生成されたスレッドで外部変数のJNIEnvやMethodIDを使用。 しかし、失敗。JNICALLなネイティブ関数で成功するFindClassですらコケる状況。 JNIEnv等は外部変数で保存しようとも、他のネイティブなスレッドで 使用する事はできないのでしょうか? (NewGlobalRefとかを使えば何とかなる?)
|