Namespaces
Variants
Views
Actions

std::jthread::~jthread

From cppreference.com
< cpp‎ | thread‎ | jthread
 
 
Concurrency support library
Threads
(C++11)
(C++20)
(C++20)
this_thread namespace
(C++11)
(C++11)
(C++11)
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11)(deprecated in C++20)
(C++11)(deprecated in C++20)
Free functions for atomic operations
Free functions for atomic flags
Memory ordering
Mutual exclusion
(C++11)
Generic lock management
(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
(C++11)
(C++11)
Condition variables
(C++11)
Semaphores
Latches and barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
(C++11)
 
 
~jthread();
(since C++20)

Destroys the jthread object.

If *this has an associated thread (joinable() == true), calls request_stop() and then join().

[edit] Notes

The request_stop() has no effect if the jthread was previously requested to stop.

A jthread object does not have an associated thread after

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

If join() throws an exception (e.g. because deadlock is detected), std::terminate() may be called.

[edit] Example

[edit] See also

destructs the thread object, underlying thread must be joined or detached
(public member function of std::thread) [edit]