Biblioteca C ++ - <hilo>

Introducción

Thread es una secuencia de instrucciones que se pueden ejecutar simultáneamente con otras secuencias similares en entornos de múltiples subprocesos, mientras comparten un mismo espacio de direcciones.

Tipos de miembros

No Señor. Tipo de miembro y descripción
1 carné de identidad

Es una identificación de hilo.

2 Tipo de mango nativo

Es un tipo de identificador nativo.

Funciones de miembro

No Señor. Función y descripción del miembro
1 (constructor)

Se utiliza para construir hilos.

2 (incinerador de basuras)

Se utiliza para destruir hilos.

3 operador =

Es un hilo de asignación de movimiento.

4 get_id

Se usa para obtener la identificación del hilo.

5 unible

Se utiliza para comprobar si se puede unir.

6 unirse

Se utiliza para unir hilos.

7 despegar

Se utiliza para desprender hilo.

8 intercambiar

Se utiliza para intercambiar hilos.

9 native_handle

Se utiliza para obtener un identificador nativo.

10 hardware_concurrency [estática]

Se utiliza para detectar la concurrencia de hardware.

Sobrecargas de no miembros

No Señor. Sobrecarga y descripción de no miembros
1 intercambio (hilo)

Se utiliza para intercambiar hilos.

Ejemplo

En el siguiente ejemplo para std :: thread.

#include <iostream>
#include <thread>

void foo() {
   std::cout << " foo is executing concurrently...\n";
}

void bar(int x) {
   std::cout << " bar is executing concurrently...\n";
}

int main() {
   std::thread first (foo);
   std::thread second (bar,0);

   std::cout << "main, foo and bar now execute concurrently...\n";

   first.join();
   second.join();

   std::cout << "foo and bar completed.\n";

   return 0;
}

La salida debería ser así:

main, foo and bar now execute concurrently...
 bar is executing concurrently...
 foo is executing concurrently...
foo and bar completed.