我目前正在创建一个从java环境(NDK)中调用本机代码的程序。 我有一个函数,将从我的java代码中调用几次。在这个函数中,我创建了一个分离的线程,它将作为一个计时器来停止我的本机代码中的特定函数。 代码如下所示:
void myNativeFunction(){
std::thread timerTrial(&FluidMechanics::Impl::endTrial,this);
timerTrial.detach();
}
void endTrial(){
//code here
return ;
}
问题是当endTrial返回时,我想知道我的线程是否会被终止,并且当我返回时是否释放了所有资源。事实上,myNativeFunction将在不久之后再次调用几次,所以我不想搞砸我的资源和记忆。