std::thread::joinable
From cppreference.com
bool joinable();
|
(since C++11) | |
Checks if the thread object identifies an active thread of execution. Specifically, returns true if get_id() != std::thread::id(). So a default constructed thread is not joinable.
Parameters
(none)
Return value
true if the thread object identifies an active thread of execution, false otherwise
Exceptions
noexcept specification:
noexceptExample
Run this code
#include <iostream>
#include <thread>
#include <chrono>
void foo()
{
std::this_thread::sleep_for(std::chrono::seconds(1));
}
int main()
{
std::thread t;
std::cout << "before starting, joinable: " << t.joinable() << '\n';
t = std::thread(foo);
std::cout << "after starting, joinable: " << t.joinable() << '\n';
t.join();
}
Output:
before starting, joinable: 0
after starting, joinable: 1
See also
| returns the id of the thread (public member function of std::{{{1}}})
| |
| waits for the thread to finish its execution (public member function of std::{{{1}}})
| |
| permits the thread to execute independently from the thread handle (public member function of std::{{{1}}})
|