Biblioteca de subprocesos de C ++: función unible

Descripción

Devuelve si el objeto de subproceso se puede unir.

Declaración

A continuación se muestra la declaración de la función std :: thread :: joinable.

bool joinable() const noexcept;

C ++ 11

bool joinable() const noexcept;

Parámetros

ninguna

Valor devuelto

Devuelve verdadero si el subproceso es unible o falso.

Excepciones

No-throw guarantee - nunca lanza excepciones.

Carreras de datos

Se accede al objeto.

Ejemplo

En el siguiente ejemplo para std :: thread :: joinable.

#include <iostream>
#include <thread>
#include <chrono>
 
void foo() {
   std::this_thread::sleep_for(std::chrono::seconds(2));
}
 
int main() {
   std::thread t;
   std::cout << "before joinable: " << t.joinable() << '\n';

   t = std::thread(foo);
   std::cout << "after joinable: " << t.joinable() << '\n';

   t.join();
   std::cout << "after joining, joinable: " << t.joinable() << '\n';
}

La salida debería ser así:

before joinable: 0
after joinable: 1
after joining, joinable: 0