std::jthread::swap
De cppreference.com
<tbody>
</tbody>
void swap( std::jthread& other ) noexcept; |
(desde C++20) | |
Intercambia los identificadores subyacentes de dos objetos jthread.
Parámetros
| other | - | El jthread con el cual 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()
{
std::jthread t1(foo);
std::jthread t2(bar);
std::cout << "id del hilo 1: " << t1.get_id() << '\n'
<< "id del hilo 2: " << t2.get_id() << '\n';
std::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';
}
Posible salida:
id del hilo 1: 140185268262656
id del hilo 2: 140185259869952
después de std::swap(t1, t2):
id del hilo 1: 140185259869952
id del hilo 2: 140185268262656
después de t1.swap(t2):
id del hilo 1: 140185268262656
id del hilo 2: 140185259869952
Véase también
(C++20) |
Especializa el algoritmo std::swap. (función) |