Scroll to navigation

std::thread::~thread(3) C++ Standard Libary std::thread::~thread(3)

NAME

std::thread::~thread - std::thread::~thread

Synopsis


~thread(); (since C++11)


Destroys the thread object.


If *this has an associated thread (joinable() == true), std::terminate() is called.

Notes


A thread object does not have an associated thread (and is safe to destroy) after


* it was default-constructed.
* it was moved from.
* join() has been called.
* detach() has been called.

Example

// Run this code


#include <thread>
using namespace std::chrono_literals;


int main()
{
auto bleah = std::thread{[]{ std::this_thread::sleep_for(13ms); }};


} // ~thread calls std::terminate()

Possible output:


terminate called without an active exception

See also


if the thread is joinable, then a stop is requested and the thread
destructor joins
(public member function of std::jthread)

2024.06.10 http://cppreference.com