std::swap(std::thread)
De cppreference.com
<tbody>
</tbody>
void swap( std::thread &lhs, std::thread &rhs ) noexcept; |
(desde C++11) | |
Sobrecarga el algoritmo std::swap para std::thread. Intercambia el estado de lhs con el de rhs. Efectivamente llama a lhs.swap(rhs).
Parámetros
| lhs, rhs | - | threads cuyos estados hay que intercambiar. |
Valor de retorno
(Ninguno)
Ejemplo
Ejecuta este código
#include <iostream>
#include <thread>
#include <chrono>
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 << "id del hilo 1: " << t1.get_id() << '\n'
<< "id del hilo 2: " << t2.get_id() << '\n';
swap(t1, t2);
std::cout << "después de std::swap(t1, t2):" << '\n'
<< "id del hilo 1: " << t1.get_id() << '\n'
<< "id del hilo 2: " << t2.get_id() << '\n';
t1.swap(t2);
std::cout << "después de t1.swap(t2):" << '\n'
<< "id del hilo 1: " << t1.get_id() << '\n'
<< "id del hilo 2: " << t2.get_id() << '\n';
t1.join();
t2.join();
}
Posible salida:
id del hilo 1: 1892
id del hilo 2: 2584
después de std::swap(t1, t2):
id del hilo 1: 2584
id del hilo 2: 1892
después de t1.swap(t2):
id del hilo 1: 1892
id del hilo 2: 2584
Véase también
| Intercambia dos objetos hilo (función miembro pública) |