C++ Operaciones de hilo


Ejemplo

Cuando comienzas un hilo, se ejecutará hasta que termine.

A menudo, en algún momento, debe (posiblemente, el subproceso ya esté terminado) esperar a que el subproceso finalice, porque desea utilizar el resultado, por ejemplo.

int n;
std::thread thread{ calculateSomething, std::ref(n) };

//Doing some other stuff

//We need 'n' now!
//Wait for the thread to finish - if it is not already done
thread.join();

//Now 'n' has the result of the calculation done in the seperate thread
std::cout << n << '\n';

También puede detach el hilo, permitiendo que se ejecute libremente:

std::thread thread{ doSomething };

//Detaching the thread, we don't need it anymore (for whatever reason)
thread.detach();

//The thread will terminate when it is done, or when the main thread returns