samedi 20 juin 2020

std::thread causes program to abort

I have the following code snippet:

#include <thread>
int main(){
    std::thread trial([](){ return 2;});
    //trial.join()
    return 0;
}

From this I get the following output:

terminate called without an active exception
[1]    17963 abort (core dumped)  ./a.out

Now, this doesn't happen when I call .join() after I create the thread. As far as I know, .join() waits until the execution of the thread ends. However, it also seems to prevent abort from happening. Could somebody explain what's going on?

Aucun commentaire:

Enregistrer un commentaire