Espacios de nombres
Variantes
Acciones

std::jthread::joinable

De cppreference.com
< cpp‎ | thread‎ | jthread
 
 
Biblioteca de apoyo de concurrencia
Hilos
(C++11)
(C++20)
Espacio de nombres this_thread
(C++11)
(C++11)
(C++11)
Cancelación cooperativa
Exclusión mutua
Gestión genérica de bloqueo
(C++11)
(C++11)
(C++11)
(C++11)
Variables de condición
(C++11)
Semáforos
Pestillos y barreras
(C++20)
(C++20)
Futuros
(C++11)
(C++11)
(C++11)
Recuperación segura
Punteros de riesgo
Tipos atómicos
(C++11)
(C++20)
Inicialización de tipos atómicos
(C++11)(en desuso en C++20)
(C++11)(en desuso en C++20)
Orden de memoria
Funciones independientes para operaciones atómicas
Funciones independientes para indicadores atómicos
 
 
[[nodiscard]]bool joinable()constnoexcept;
(desde C++20)

Comprueba si el objeto std::jthread identifica un hilo de ejecución activo. Específicamente, devuelve true si get_id()!= std::jthread::id(). Por lo tanto, un std::jthread construido por defecto no es unible.

Un hilo que ha terminado de ejecutar código, pero aún no se ha unido, se considera un hilo de ejecución activo y, por lo tanto, es unible.

Contenido

[editar]Parámetros

(Ninguno)

[editar]Valor de retorno

true si el objeto std::jthread identifica un hilo de ejecución activo; de lo contrario, false.

[editar]Ejemplo

#include <iostream>#include <thread>#include <chrono>   void foo(){std::this_thread::sleep_for(std::chrono::seconds(1));}   int main(){std::jthread t;std::cout<<"antes de iniciar, unible: "<<std::boolalpha<< t.joinable()<<'\n';   t =std::jthread(foo);std::cout<<"después de iniciar, unible: "<< t.joinable()<<'\n';   t.join();std::cout<<"después de unirse, unible: "<< t.joinable()<<'\n';}

Salida:

antes de iniciar, unible: false después de iniciar: true después de unirse, unible: false

[editar]Referencias

  • El estándar C++20 (ISO/IEC 14882:2020):
  • 32.4.3.2 Miembros [thread.jthread.mem]

[editar]Véase también

Devuelve el id del hilo
(función miembro pública de std::thread)[editar]
Espera a que el hilo termine su ejecución
(función miembro pública de std::thread)[editar]
Permite que el hilo se ejecute independientemente del identificador del hilo
(función miembro pública de std::thread)[editar]
close