std::jthread::joinable - cppreference.com
De cppreference.com
|
|
(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.
Parámetros
(Ninguno)
Valor de retorno
true si el objeto std::jthread identifica un hilo de ejecución activo; de lo contrario, false.
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
Referencias
- El estándar C++20 (ISO/IEC 14882:2020):
- 32.4.3.2 Miembros [thread.jthread.mem]
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]
|