std::jthread::~jthread

From cppreference.com
< cpp‎ | thread‎ | jthread
 
 
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
(C++11)
Generic lock management
(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)
Safe Reclamation
(C++26)
Hazard Pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11)(deprecated in C++20)
(C++11)(deprecated in C++20)
Memory ordering
Free functions for atomic operations
Free functions for atomic flags
 
 
~jthread();
(since C++20)

Destroys the jthread object.

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

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.

Example

See also

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