Managing Thread Lifetime

This lesson gives an overview of how to use the join and detach functions to properly end thread execution in C++.

We'll cover the following...

The parent has to take care of its children - a simple principle that has significant consequences for the lifetime of a thread. This small program starts a thread that displays its ID:

Press + to interact
// threadWithoutJoin.cpp
#include <iostream>
#include <thread>
int main(){
std::thread t([]{std::cout << std::this_thread::get_id() << std::endl;});
}

But the program will not print the ID. What’s the reason for this exception? Let’s figure it out!

...