std::swap(std::thread)(3)
π NAME π
okay so bestie, welcome to std::swap(std::thread)(3) from the C++ Standard Libary manual β¨ (yes, βLibaryβ is literally spelled like that in the header, we respect the typo π
). This page is literally named std::swap(std::thread) - std::swap(std::thread) (same thing twice, no thoughts, head empty ππ).
π Synopsis π
void swap( std::thread& lhs, std::thread& rhs ) noexcept;
(since C++11) π¦
This overloads the std::swap algorithm for std::thread. It exchanges the state of lhs with that of rhs. Effectively calls lhs.swap(rhs). periodt. β¨
π Parameters π
lhs,rhsβ threads whose states to swap π«Ά
β Return value β
(none) β literally nothing, bestie ππ
π¦ Example π¦
okay this is the cute little demo, run it if you want to see the swap behavior in action πΈ:
// Run this code
#include <chrono>
#include <iostream>
#include <thread>
void foo()
{
std::this_thread::sleep_for(std::chrono::seconds(1));
}
void bar()
{
std::this_thread::sleep_for(std::chrono::seconds(1));
}
int main()
{
using std::swap;
std::thread t1(foo);
std::thread t2(bar);
std::cout << "thread 1 id: " << t1.get_id() << '\n'
<< "thread 2 id: " << t2.get_id() << '\n';
swap(t1, t2);
std::cout << "after std::swap(t1, t2):" << '\n'
<< "thread 1 id: " << t1.get_id() << '\n'
<< "thread 2 id: " << t2.get_id() << '\n';
t1.swap(t2);
std::cout << "after t1.swap(t2):" << '\n'
<< "thread 1 id: " << t1.get_id() << '\n'
<< "thread 2 id: " << t2.get_id() << '\n';
t1.join();
t2.join();
}
πΈ Possible output πΈ
could look like this, bestie π:
thread 1 id: 1892
thread 2 id: 2584
after std::swap(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 thread objects π«Ά (public member function)
mwah π byeee bestie β source: http://cppreference.com; version/date: 2024.06.10; page: std::swap(std::thread)(3) β¨π§ββοΈ
π¦ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms