How do I start and join threads with std::thread?

In C++, the std::thread library from the C++11 standard provides an easy and efficient way to work with threads. This feature allows you to start and join threads, enabling concurrent execution of functions or methods. Below, you’ll find an example demonstrating how to create and manage threads using std::thread.


#include <iostream>
#include <thread>

void threadFunction(int id) {
    std::cout << "Thread " << id << " is running." << std::endl;
}

int main() {
    // Start a thread
    std::thread t1(threadFunction, 1);
    std::thread t2(threadFunction, 2);

    // Join the threads with the main thread
    t1.join();
    t2.join();

    std::cout << "Both threads have finished executing." << std::endl;
    return 0;
}
    

C++ threads std::thread concurrency join multithreading thread management