1

jni レイヤーを呼び出す Java コードがいくつかあります。

JNI レイヤーはサードパーティであるため、調べることはできませんが、ある時点で新しいスレッドが作成され、Java コードへのコールバックが行われます。

このコールバック メソッド内で、別の Java スレッドを作成し、そのスレッドで start を呼び出します。ただし、この Java スレッドは実行されません。それは決して存在しないようなものです。

JNI コールバックからスレッドを作成することは問題ですか?

コア サイズで threadpoolexecutor を作成し、代わりにエグゼキューターにタスクを配置できますが、コールバック内でスレッドを作成できない理由を知りたいです。

4

1 に答える 1

3

AttachCurrentThread()他の JNI メソッドを呼び出す前、および終了する前に、コールバック内で呼び出す必要がありDetachCurrentThread()ます。

于 2012-04-25T08:57:16.437 に答える