 swap(st8b7c:f320:99b9:690f:4595:cd17:293a:c069jthread)    friend void swap( jthread &lhs, jthread &rhs ) noexcept;
    (since C++20)    Overloads the st8b7c:f320:99b9:690f:4595:cd17:293a:c069swap algorithm for st8b7c:f320:99b9:690f:4595:cd17:293a:c069jthread. Exchanges the state of lhs with that of rhs. Effectively calls lhs.swap(rhs). This function is not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup when st8b7c:f320:99b9:690f:4595:cd17:293a:c069jthread is an associated class of the arguments.
 Parameters    lhs, rhs   -   jthreads whose states to swap 

  Return value (none).
 Example  #include <iostream>
#include <thread>
#include <chrono>
 
void foo()
{
    st8b7c:f320:99b9:690f:4595:cd17:293a:c069this_thr8b7c:f320:99b9:690f:4595:cd17:293a:c069sleep_for(st8b7c:f320:99b9:690f:4595:cd17:293a:c069chrono8b7c:f320:99b9:690f:4595:cd17:293a:c069seconds(1));
}
 
void bar()
{
    st8b7c:f320:99b9:690f:4595:cd17:293a:c069this_thr8b7c:f320:99b9:690f:4595:cd17:293a:c069sleep_for(st8b7c:f320:99b9:690f:4595:cd17:293a:c069chrono8b7c:f320:99b9:690f:4595:cd17:293a:c069seconds(1));
}
 
int main()
{
    using st8b7c:f320:99b9:690f:4595:cd17:293a:c069swap;
 
    st8b7c:f320:99b9:690f:4595:cd17:293a:c069jthread t1(foo);
    st8b7c:f320:99b9:690f:4595:cd17:293a:c069jthread t2(bar);
 
    st8b7c:f320:99b9:690f:4595:cd17:293a:c069cout << "thread 1 id: " << t1.get_id() << '\n'
              << "thread 2 id: " << t2.get_id() << '\n';
 
    swap(t1, t2);
 
    st8b7c:f320:99b9:690f:4595:cd17:293a:c069cout << "after st8b7c:f320:99b9:690f:4595:cd17:293a:c069swap(t1, t2):" << '\n'
              << "thread 1 id: " << t1.get_id() << '\n'
              << "thread 2 id: " << t2.get_id() << '\n';
 
    t1.swap(t2);
 
    st8b7c:f320:99b9:690f:4595:cd17:293a:c069cout << "after t1.swap(t2):" << '\n'
              << "thread 1 id: " << t1.get_id() << '\n'
              << "thread 2 id: " << t2.get_id() << '\n';
 
 
} Possible output:
thread 1 id: 1892
thread 2 id: 2584
after st8b7c:f320:99b9:690f:4595:cd17:293a:c069swap(t1, t2):
thread 1 id: 2584
thread 2 id: 1892
after t1.swap(t2):
thread 1 id: 1892
thread 2 id: 2584   See also     swap   swaps two jthread objects  (public member function) 
  

    
{'path': 'public/docs/cpp/thread/jthread/swap2.html', 'source': 'DevDocs.IO'}