导入库:#include <thread>
获取javavm并保存为全局变量:
JavaVM *vm;
env->GetJavaVM(&vm);
GlobalConstants::vm = vm;
线程执行的方法:
void runThread(JNIEnv *env)
{
jint res = GlobalConstants::vm->AttachCurrentThread(&env, NULL);
if(res == 0)//0:success, negative:fail
{
for(int index = 0;index < 10;index++)
{
CommonTool::logcat_e("run ....");
sleep(3);
}
GlobalConstants::vm->DetachCurrentThread();
}
}
开始执行线程(非阻塞式)
thread pht(&runThread, env);
if(pht.joinable())
{
pht.detach();
}