【发布时间】:2016-07-01 07:08:00
【问题描述】:
我有 JNI 库的执行方法(例如 JNI.calculate(listener))。例如,它应该需要 30 秒。我想要但再次执行此方法 calculate(listener) 但首先我需要停止最后一次执行。该方法有一个参数——监听器,它有两种方法:
public void canContinue(){
return canContinue;
}
public void result(int number){
//some code
}
canContinue 方法异步调用,例如 每 3 秒调用一次。我只是不想等待,直到下一个 canContinue 将被调用。我想立即执行此方法的下一次执行 calculate(listener)。
你有什么建议吗?可能我应该使用 Handler, HandlerThread, Thread, AsyncTask 之类的此类,但是如何弄清楚呢?
【问题讨论】:
-
您找到解决方案了吗?我正在尝试停止 FFmpeg 的执行(在使用 Java 本机方法调用它的主要 C 函数之后)stackoverflow.com/questions/50664689/…
标签: android multithreading java-native-interface thread-safety android-handler