C ++ Thread Library - Função juntável

Descrição

Ele retorna se o objeto thread pode ser juntado.

Declaração

A seguir está a declaração para a função std :: thread :: joinable.

bool joinable() const noexcept;

C ++ 11

bool joinable() const noexcept;

Parâmetros

Nenhum

Valor de retorno

Ele retorna verdadeiro se o encadeamento é juntável ou falso.

Exceções

No-throw guarantee - nunca lança exceções.

Corridas de dados

O objeto é acessado.

Exemplo

No exemplo abaixo 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';
}

A saída deve ser assim -

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