ここで、スレッドを停止するか、 Java レイヤーで作成されたスレッドを強制終了します。このスレッドは JNI 関数を呼び出しています。アプリケーションの要件に応じて、状況によってはこのJNI 関数の実行を停止する必要があり、そうでない場合は停止する必要があります。
new Thread(new Runnable() {
@Override
public void run() {
// My jni function call, It calls my JNI layer C function.
}
}
このスレッドの実行が開始され、JNI レベルで動作しているとき、私はそれについて心配していませんが、何らかの条件で他のクラスまたはメソッドからこの JNI の動作を停止したいので、どうすればこのスレッドを停止できますか。
注:ここでは、私のスレッドにも while ループがないため、グローバル フラグ変数でもチェックできません。
whileループなしでJNI関数を呼び出している間にスレッドを強制終了する方法について、誰もがアイデアを持っていますか。