std::jthread::joinable
De cppreference.com
[[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
Ejecuta este código
#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 ) | |
Espera a que el hilo termine su ejecución (función miembro pública de std::thread ) | |
Permite que el hilo se ejecute independientemente del identificador del hilo (función miembro pública de std::thread ) |