gpt4 book ai didi

java - 是否可以停止 JNI 调用

转载 作者:行者123 更新时间:2023-11-30 17:23:08 25 4
gpt4 key购买 nike

我开发了一个c库。我使用 JNI 从我的 JAVA 代码调用库的 c 函数:

jstring Java_com_example_openafreerdp_UnboundedService_invokeNativeFunction(JNIEnv* env, jobject obj) {
...
}

JNI 函数是这样从 java 调用的:

public class UnboundedService extends Service {

static {
System.loadLibrary("hellondk");
}
private native String invokeNativeFunction();

private class JniBackGround extends AsyncTask<String, String, String> {
@Override
protected String doInBackground(String... ss) {
final String str = invokeNativeFunction();
return str;
}
}
...
@Override
public void onStart(Intent intent, int startId) {
JniBackGround task = new JniBackGround();
task.execute(new String[] { "http://www.any.com" });
}
}

现在我的 C 函数需要很长时间才能完成执行。我想添加一个按钮来停止此执行。我怎样才能用JAVA阻止它?

最佳答案

如果fx有某种inf循环while(true),他总是可以使用while(someFlag)并将someFlag设置为false 在这个新的 invokeNativeStopFunction 中...如果他正在使用一些curl库调用(我对此表示怀疑,因为url没有传递给 native )他可以在那里取消curl请求...等等向前 ... – 塞尔文

关于java - 是否可以停止 JNI 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27689723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com