https://docs.oracle.com/javase/jp/7/technotes/guides/jni/spec/invocation.html#wp1060
> JNI インタフェースポインタ (JNIEnv) は、現在のスレッドでのみ有効です。
> 別のスレッドが Java VM にアクセスする必要がある場合、
> これは最初に AttachCurrentThread() を呼び出して、自身を VM に接続し
> JNI インタフェースポインタを取得する必要があります。
> 一度 VM に接続されると、ネイティブスレッドはネイティブメソッド内で
> 実行中の普通の Java スレッドのように機能します。
> ネイティブスレッドは、DetachCurrentThread() を呼び出して自身を切り離すまで
> VM に接続されたままになります。

これじゃないのか? 俺はやった事ないからよくわからんけど。