我需要在调用app_exit()之前终止我的后台线程,但有时线程仍在运行本机方法,我怎么能杀死它?线程只调用一个本机函数,通常它会在本机函数返回后完成运行。如果本机函数没有返回,有没有办法终止线程?
testthread = new thread(){
@Override
public void run(){
ret = nativeMethod();
}
};
testthread.start();
谢谢!
答案 0 :(得分:0)
这将是一个纯粹的java解决方案。 (没有android API)
如果必须等待本机调用结束,请在exit函数中等待它。例如。使用CountDownLatch
这是最简单的方法(退出await
,线程中countDown
,调用本机方法之后),或使用wait / notify。