std:: thread
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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) |
|
|
[static]
|
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
|
(C++11)
|
especializa el algoritmo
std::swap
(función) |
Véase también
|
(C++20)
|
std::thread
con soporte para auto-unirse y cancelación
(clase) |