std::jthread::join - cppreference.com (original) (raw)

| void join(); | | (since C++20) | | ------------ | | ------------- |

Blocks the current thread until the thread identified by *this finishes its execution.

The completion of the thread identified by *this synchronizes with the corresponding successful return from join().

No synchronization is performed on *this itself. Concurrently calling join() on the same jthread object from multiple threads constitutes a data race that results in undefined behavior.

Contents

[edit] Parameters

(none)

[edit] Return value

(none)

[edit] Postconditions

joinable() is false.

[edit] Exceptions

std::system_error if an error occurs.

[edit] Error conditions

[edit] Example

Output:

starting first helper... starting second helper... waiting for helpers to finish... done!

[edit] References

[edit] See also

| | permits the thread to execute independently from the thread handle (public member function) [edit] | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | | checks whether the thread is joinable, i.e. potentially running in parallel context (public member function) [edit] | | |