Академический Документы
Профессиональный Документы
Культура Документы
Thread
std::thread
std::thread::thread (Constructor)
Construye un nuevo objeto Thread .
1) Crea un objeto nuevo que no representa a ningn hilo .
2) Construye el objeto Thread que representa un nuevo hilo de
ejecucin.
3) Crea un nuevo objeto std::thread y la asocia con un hilo en
ejecucin. Primero, el constructor copia todos los argumentos para el
almacenamiento local del nuevo hilo.
int main()
{
int n = 0;
std::thread t1; // t1 is not a thread
std::thread t2(f1, n+1); // pass by value
std::thread t3(f2, std::ref(n)); // pass by reference
std::thread t4(std::move(t3)); // t4 is now running f2(). t3 is no longer a thread
t2.join();
t4.join();
std::cout << "Final value of n is " << n << '\n';
}
Threads
La primera cosa es crear un
objeto thread y darle una tarea
que hacer.
El main thread espera que los
hilos terminen de ejecutarse
exitosamente para luego hacer
un join().
En ese lapso de espera el main
est en desuso.
Threads
Threads
Sincronizacin
Los threads deben interactuar entre s, por lo tanto es necesario
implementar mecanismos de comunicacin y sincronizacin pues la
memoria de los mismos se comparte entre todos ellos por igual y
todos ellos tienen acceso al mismo segmento de memoria en cualquier
momento por lo que la integridad de los datos puede verse
comprometida si no usamos primitivas de sincronizacin.
Mutex
Semforos
Variables de condicin - (mtodos: wait, signal)
Algunos ejemplos.