Namespaces
Variants

std:: thread

From cppreference.net
Concurrency support library
Threads
thread
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe reclamation
Hazard pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
Definido en el encabezado <thread>
class thread ;
(desde C++11)

La clase thread representa un único hilo de ejecución . Los hilos permiten que múltiples funciones se ejecuten concurrentemente.

Los hilos comienzan su ejecución inmediatamente tras la construcción del objeto hilo asociado (sujeto a posibles retardos de planificación del SO), iniciando en la función de nivel superior proporcionada como argumento del constructor . El valor de retorno de la función de nivel superior se ignora y si termina lanzando una excepción, std::terminate es llamado. La función de nivel superior puede comunicar su valor de retorno o una excepción al llamador mediante std::promise o modificando variables compartidas (lo que puede requerir sincronización, ver std::mutex y std::atomic ).

std::thread los objetos también pueden estar en el estado que no representa ningún hilo (después de la construcción por defecto, movimiento desde, detach , o join ), y un hilo de ejecución puede no estar asociado con ningún thread objeto (después de detach ).

No dos objetos std::thread pueden representar el mismo hilo de ejecución; std::thread no es CopyConstructible ni CopyAssignable , aunque sí es MoveConstructible y MoveAssignable .

Contenidos

Tipos de miembros

Tipo de miembro Definición
native_handle_type ( opcional* ) definido por la implementación

Clases miembro

representa el id de un hilo
(clase miembro pública)

Funciones miembro

construye un nuevo objeto thread
(función miembro pública)
destruye el objeto thread, el hilo subyacente debe ser unido o separado
(función miembro pública)
mueve el objeto thread
(función miembro pública)
Observadores
verifica si el thread es unible, es decir, potencialmente ejecutándose en contexto paralelo
(función miembro pública)
devuelve el id del thread
(función miembro pública)
devuelve el manejador de hilo subyacente definido por la implementación
(función miembro pública)
devuelve el número de hilos concurrentes soportados por la implementación
(función miembro estática pública)
Operaciones
espera a que el thread finalice su ejecución
(función miembro pública)
permite que el thread se ejecute independientemente del manejador de hilo
(función miembro pública)
intercambia dos objetos thread
(función miembro pública)

Funciones no miembro

especializa el algoritmo std::swap
(función)

Véase también

(C++20)
std::thread con soporte para auto-unirse y cancelación
(clase)