gpt4 book ai didi

android - 为什么创建 C++11 线程会导致致命信号?

转载 作者:行者123 更新时间:2023-11-29 20:47:57 25 4
gpt4 key购买 nike

我想创建一个 C++11 线程,在进行 JNI 调用后无限期运行。为什么这会产生致命信号?

#include <thread>

static void teste()
{
while(true)
LOGI("IN TEST");
}

JNIEXPORT void Java_blahblah(JNIEnv *javaEnvironment, jobject self)
{
std::thread t(teste);
//t.join(); //I don't want to join it here.
}

我不需要 C++11 线程来调用 JNI 或类似的东西。

最佳答案

根据 this answer ,如果线程在销毁时仍可连接,则 thread 的析构函数将调用 std::terminate

如果您不想加入线程,可以通过分离线程来解决此问题。

std::thread t(teste).detach();

关于android - 为什么创建 C++11 线程会导致致命信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29931385/

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