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